IOOO
OIIO
001
El procesador
de video del
SVI 318/328
Soüv
■r AÑO II
W Núm. 15
Julio • Agosto
^ 1986
300 Ras.
oioo
La Guía Lotus Para Utilizar Symphony
CARACTERISTICAS:
• Páginas: 443
• Papel offset: 112 grs.
• Tamaño: 182 x 232 mm.
• Encuademación: Rústica-cosido
LA GUIA LOTUS PARA UTILIZAR SYMPHONY
es un libro que le enseñará paso a paso, y de
una forma muy práctica cómo utilizar este
programa.
LA GUIA LOTUS contiene:
- Cómo crear y manejar ficheros
- Descripción detallada de las facilidades
que ofrecen las ventanas de SYMPHONY.
- Apéndice que cubre las aplicaciones adi-
cionales que van incluidas en el programa.
- Un índice detallado y un vocabulario don-
de fácilmente podrá encontrar cualquier
tema que necesite.
El complemento indispensable para el manual de SYMPHONY
OFERTA DE LANZAMIENTO 4.500 PTAS. (IVA INCLUIDO)
Recorte y envíe HOY MISMO este cupón a: c/ Bravo Murillo, 377 - 28020 MADRID
CUPON DE PEDIDO
TAMBIEN
LO PUEDE
ADQUIRIR
EN SU LIBRERIA
HABITUAL
Con tarjeta de crédito VISA □ INTERBANK □ AMERICAN EXPRESS □
CONTRAREEMBOLSO □ ADJUNTO CHEQUE □
Número de mi tarjeta
Fecha de caducidad
NOMBRE
DIRECCION
CIUDAD
PROVINCIA
DIRECTOR:
Juan Arencibia.
COORDINADOR EDITORIAL:
J. Ignacio Rey.
COLABORADORES:
Octavio López, Angel Zarazaga.
Teresa Aranda. Ricardo García
DISEÑO:
Benito Gil
Editada por:
PUBLINFORM ATICA, S.A.
C/ Bravo Munllo, 377 - 5 0 A
Tel.: 733 74 13
28020 Madrid.
Telex 48877 OPZXE
PRESIDENTE:
Fernando Bolín.
DIRECTOR EDITORIAL
REVISTAS DE USUARIOS:
Juan Arencibia.
DIRECTOR DE VENTAS:
Antonio González.
JEFE DE PRODUCCIÓN:
Miguel Onieva.
SERVICIO AL CLIENTE:
Julia González.
Tel.: 733 79 69
DIRECCION, REDACCION
Y ADMINISTRACION:
C/ Bravo Munllo, 377 - 5." A.
Tel.: 733 74 13
28020 Madrid.
PUBLICIDAD EN MADRID:
Emilio García.
PUBLICIDAD
EN BARCELONA:
Lidia Cendros.
C/ Pelayo, 12.
Tel.: (93) 301 47 00 Ext. 27-28
08001 Barcelona.
Depósito Legal: M. 16.755-1985
Impreso en Héroes, S.A.
C/ Torrelara, 8. 28016 Madrid.
Distribuye:
S.G.E.L Avda. Valdelaparra, s/n.
Alcobendas (Madrid).
DISTRIBUIDORES:
VENEZUELA: SIPAM, S.A.
Avda. República
Dominicana, 541
ARGENTINA: DISTRIBUIDORA
INTERCONTINENTAL
BUENOS AIRES.
El P.V.P. para Ceuta. Melilla y
Cananas, incluido servicio aéreo
será de 300 ptas. sm l.v.A.
SUSCRIPCIONES
Rogamos dirija toda la
correspondencia relacionada con
suscripciones a
MSX
EDISA Tel. 415 97 12
C/López de Hoyos 1415 0
28002 MADRID
(Para todos los pagos reseñar
solamente MSX)
Para la compra de ejemplares
atrasados diríjanse a la propia
editorial
MSX
C/Bravo Munllo 377-5 0 A
Tel 733 74 13 28020 MADRID
Si deseas colaborar en MSX remite tus
artículos o programas a Bravo Munllo
377. 5 0 A 28020 Madnd Los programas
deberán estar grabados en cassette y ios
artículos mecanografiados
A efectos de remuneración, se analiza
cada colaboración aisladamente estu
diando su complejidad y calidad
Las vacaciones son el momento ideal para dedicarse a todas
aquellas actividades que, durante el resto del año, no se
pueden realizar. Además, en estas fechas, en las que todo se
paraliza o al menos se ralentiza, es agradable ver como MSX sigue
su curso, un curso que cada vez es más firme.
La reciente feria, PROCESOS, que tuvo lugar en el Centro de
Arte Reina Sofía, confirma el interesante futuro de estas máquinas
Ordenadores conectados a CD-ROM, a unidades de vídeo o a sin-
tetizadores de sonido, han sido algunas de las interesantes opcio-
nes que hemos podido comprobar. Sin duda alguna, aún queda
mucho que hacer y desarrollar, y nos ha sido grato comprobar co-
mo, día a día se van superando metas.
Cabe destacar que a la aparición del VG-8235, respondió So-
ny con el HB-500 P, que comentamos en estas páginas. Este equi-
po va a ser el enemigo principal, no sólo de otros ordenadores
MSX de la segunda generación, sino de cualquier ordenador de
128K del mercado. Probablemente el lector se preguntará, cómo
hemos dedicado tan poco espacio a dicho acontecimiento. Senci-
llamente hemos creído oportuno hacer una prueba, cara a cara,
de estos dos equipos que publicaremos en meses sucesivos. No
parece que exista un ganador de antemano, pero...
Por otro lado, el software empieza a ser novedad, principal-
mente debido a la llegada a nuestro país de programas de una im-
portante empresa holandesa y de la aparición de programas para
ordenadores de la 2. a generación. Para los primeros veremos un-
simulador de vuelo en helicóptero que hará las delicias de cual-
quiera (ver sección de Software), mientras que para los segundos
pronto aparecerá un toolkit que facilitará la tarea de programación
en estos potentes equipos.
MSX
MSX 3
Noticias: Feria Procesos en el
Centro de Arte Reina Solía, algo
muy especial. SERMA cambia de ai-
res. Mas libros de Anaya...
SUMARIO
8
¿Por qué es tan lento el
BASIC?: Aunque es el lenguaje
de programación por excelencia de
los ordenadores personales, cuenta
con un gran defecto, su lentitud.
14
Libros: LOGO, de la tortuga a la
Inteligencia Artificial. Un libro con
grandes perspectivas que muestra
una de las más importantes aplica-
ciones, la IA Por otro lado, MSX-EI
Manual Escolar, muestra al alumno
el planteamiento y posterior solu-
ción de cualquier problema.
16
Software: Varios son los pro-
gramas que se presentan este vera-
no. Entre éstos tenemos, North Sea
Helicopter (uno de los mejores si-
muladores de vuelo que hemos vis-
to), Flight Deck, Beamrider, Gráficas
de Gestión, Confused? y Drome.
Los Modos de Pantalla:
Descubre los secretos que escon-
den los 1 6K de pantalla de los MSX.
Programa: 3-D Bola. En
este laberinto tendrás la oportuni-
dad de demostrar tu habilidad.
Test: Sony HB-500 P: La
carrera por dominar el mercado de
los ordenadores de la II generación
empezó cuando Philips lanzó su
modelo VG-8235. Sony, no se que-
dó atrás e inmediatamente sacó a
relucir una joya: el HB-500 P.
Programa; Simón: Un en-
tretenido juego donde hay que se-
guir la combinación marcada por el
ordenador a base de colores y soni-
dos.
Diagramas de Flujo: En
programación existe unas herra-
mientas que no todo el mundo utili-
za; los diagramas de flujo u organi-
gramas. Estos se muestran muy úti-
les a la hora de realizar un progra-
ma.
Interioridades de los
SVI-31 8/328: El procesador
de vídeo de estos ordenadores es
similar al que equipa los MSX, con
algunas excepciones, las cuales
marcan una diferencia pequeña pe-
ro importante.
Código Maquina: En esta
ocasión veremos las instrucciones
de rotación y desplazamiento.
Rincón del Lector: Donde
todas vuestras dudas encontrarán la
solución.
MSX 5
Más libros
para el verano
de Anaya
Próximamente aparecerán nue-
vos títulos de Anaya de contenido
general, para todos los gustos y
usuarios.
El «Diccionario de Informática»
a un precio de 2.250 ptas. es una
obra de consulta muy completa,
que abarca desde los aspectos
humanísticos de la informática
hasta cuestiones puramente téc-
nicas.
La «Programación del 8086/
8088», donde se podrá estudiar el
completo juego de instrucciones
del procesador de Intel, es el libro
idóneo para completar y adquirir
un conocimiento de este micro-
procesador.
Para el programador o todos
aquellos que necesiten de una pe-
queña introducción a los sistemas
operativos va dedicado «Introduc-
ción a los Sistemas Operativos».
Con unas 1 20 páginas y a un pre-
cio de 583 ptas, esta obra servirá
como manual de introducción a
otros sistemas operativos más co-
nocidos como el UNIX, CP/M y
MS-DOS.
También habrá un libro orienta-
do al lenguaje C, «Programación
en C con Tiny-C», es una obra de-
sarrollada en base a una versión
reducida del lenguaje C, que ha
sido desarrollada para facilitar su
aprendizaje. En 22 pág. y con un
diskette incorporado, el usuario
podrá encontrar una magnífica in-
troducción a este lenguaje de pro-
gramación. Sin embargo, el precio
Idealogic y
sus l
programa
para S
Sony presentará en breve la
nueva versión de lenguaje LOGO
para MSX que ha elaborado IDEA-
LOGIC S.A.
Además de poseer todas las
instrucciones necesarias de cual-
quier lenguaje LOGO, incorpora a
su vez, la posibilidad de amplair el
lenguaje según las necesidades
del usuario mediante la instruc-
ción "USA".
Esta versión es similar sintácti-
camente a ACTI-LOGO, que esta
empresa produce para ordenado-
res PC-MSDOS. Esto permite que
listados de programas hechos en
un PC-Compatible puedan ser in-
troducidos directamente en el HIT
BIT de Sony.
Por otro lado, IDEALOGIC, S.A.
se va a encargar de la creación y
desarrollo del software necesario
para los ordenadores de la II ge-
neración, concretamente del Phi-
lips MSX-II. De estos cabe desta-
car la aparición del programa «Ae-
robio», con lecciones estructura-
das según la necesidad de cada
usuario, 1 .250 pantallas animadas
y con acompañamiento musical
en cada uno de los movimientos.
(4.002 ptas. + I.VA) nos parece
abusivo aunque lleve diskette.
No podían faltar los dedicados
al usuario del IBM PC. En este ca-
so, «dBASE III», está indicado para
ser utilizado por dos tipos de lecto-
res.
Primero, por el usuario de orde-
nador que quiere indagar sobre
las características del dBASE III y,
segundo, el usuario que ya tiene el
programa y necesita una guía de
referencia rápida y sencilla.
Para finalizar, tres obras orienta-
das al universitario. Estas son
«termodinánica y transmisión de
calor», «Estadística» y «Métodos
Matriciales». Con un precio que
oscila entre 1 .749 y 1 .643, estos se
presentan como una ayuda adi-
cional, complementado los libros
de textos. Cada uno trata un tema
específico y concreto a nivel uni-
versitario.
Un robot para
"ligar en casa
S.V.I. España presenta como
gran novedad el primer robot para
MSX. El brazo robot, consta de una
base, brazo superior, antebrazo y
muñeca.
Entre sus características más
importantes, cabe destacar la po-
sibilidad de utilizarlo tanto con el
ordenador como con dos joys-
ticks.
El Robotarm está destinado a
los jóvenes con un conocimiento
básico de programación y robóti-
ca elemental.
La facilidad de poder utilizarlo
conectado al ordenador, le dan
unas posibilidades fuera de lo co-
mún. Con un lenguaje de progra-
mación propio, ROGO (similar al
LOGO) y sencillo, el usuario podrá
ver y comprobar todas las cualida-
des y usos a los que se puede so-
meter a un robo!, éste se conecta
al ordenador mediante el bus de
expansión con un cartucho que
encierra el juego de instrucciones.
En el programa de demostra-
ción, existe una rutina que com-
prueba el correcto funcionamiento
de todas las piezas del robot.
También se puede utilizar sin el
ordenador. Sin embargo, se nece-
sitan dos joysticks, algo que no to-
dos los usuarios poseen. De cual-
quier manera, con el ordenador se
obtienen mejores resultados.
feria muy
particular
Del 26 de mayo al 20 de junio se
celebró en el Centro de Arte Reina
Sofía la feria Procesos, cultura y
nuevas tecnologías.
En ella pudimos comprobar las
diversas aplicaciones que, a pa-
sos agigantados, están haciéndo-
se muy conocidas y que están
presentes en nuestra vida cotidia-
na.
La exposición se estructuró en
tres ámbitos: memoria, comunica-
ción y creación.
La holografía, proceso por el
cual se realizan fotografías en tres
dimensiones, fue la constante a lo
largo de toda la feria. En cada rin-
cón, había un motivo, un dibujo o
una foto con esta peculiar técnica.
Los ordenadores también estu-
vieron presentes y MSX, no iba a
ser menos. Sony, con su G-900,
mostró unas cualidades que no
existen en ninguna otra máquina.
Similar al HB-500 P, este modelo
con una unidad de superposición
de vídeo se mostró superior a apa-
ratos dedicados a tal fin, con la sal-
vedad que éste cuesta alrededor
de 300.000 ptas. mientras que una
máquina de estas características
ronda algunos millones. Con esta
máquina se pueden realizar efec-
tos especiales (tipo Guerra de las
Galaxias) en casa.
Por otro lado, también se en-
contraba Yamaha, que con su mo-
delo CX5M II mostró la increíble
capacidad musical que posee.
Olll
unque es el lenguaje pre-
dominante entre los más
conocidos, el BASIC tiene
algunas desventajas muy eviden-
tes cuando se le compara con
otros lenguajes de programación,
tales como PASCAL o FORTRAN,
dos lenguajes de alto nivel dedi-
cados a aplicaciones específicas.
El PASCAL, está más generaliza-
do que el FORTRAN (cuyas siglas
significan FORmula TRANslator-
traductor de fórmulas), emplean-
do fundamentalmente en cálculos
científicos y matemáticos, aunque
no está implementado en los or-
denadores personales. La primera
pega que podemos poner al BA-
SIC frente a estos lenguajes es su
lentitud. Esto es fácilmente de-
mostrable, sólo basta con crear
cualquier figura animada y des-
plazarla por la pantalla.
¿Por qué motivo los programas
desarrollados en BASIC se ejecu-
tan más despacio que otros escri-
tos en lenguajes de alto nivel o en-
sambladores?
Para ver en que consiste el pro-
blema, veamos cómo se ejecutan
los programas en un ordenador.
Todos los ordenadores, desde el
personal hasta el mainframe, eje-
cutan los programas llevando a
cabo instrucciones en lenguaje
máquina. Estas instrucciones son
órdenes codificadas eléctrica-
mente, como ceros (0) y unos (1)
que realizan operaciones extre-
madamente sencillas, como por
ejemplo, «leer un dato de memoria
y almacenarlo en un registro». Es-
te grupo de operaciones se deno-
minan juego de instrucciones y ya
vienen incorporadas al ordenador
en la memoria ROM.
Un programa de ordenador
consiste en una larga serie de es-
tas instrucciones elementales.
,Cuando la computadora está eje-
cutando un programa, busca es-
MSX 9
en portada
tas instrucciones en la memoria y
las va ejecutando. Cada una de
estas cumple una pequeña fun-
ción, sin embargo, el conjunto de
estas hacen un programa comple-
jo.
Las instrucciones de lenguaje
máquina se almacenan en memo-
ria en grupos de bits. Los bits pue-
den ser representados en el siste-
ma binario como cadenas de
unos y ceros (ver «Sistemas de
numeración», MSX núm. 2)
TEXTO DE PROGRAMA
COMPILADOR
CODIGO DE MAQUINA -
PROGRAMA
► RESULTANTE
Figura 1: Un intérprete lee el texto del
programa y lo lleva a Instrucciones de
programa.
Sin embargo, esto ha sido siem-
pre un problema. Con los prime-
ros ordenadores había que tener
en cuenta qué combinación de
ceros y unos pertenecían a qué ins-
trucción. Por este motivo, los pro-
gramadores, cansados de preo-
cuparse sobre este gran inconve-
niente, han creado sistemas de
codificación para grabar instruc-
ciones. Estos sistemas de codifi-
cación son los llamados lenguajes
ensambladores. Una orden, para
añadir un número en el lugar X de
la memoria, se puede escribir de
la forma siguiente:
ADD R1, X
Los programas que traducen
estas simples nociones a equiva-
lentes de instrucciones en lengua-
je máquina son llamados ensam-
bladores.
Por ejemplo, si se quiere realizar
un programa ensamblador que
permita añadir lo que exista en el
registro Y al registro X, habría que
hacerlo de la forma siguiente:
LOAD R1, X ¡cargar contenido
de X a R1.
ADD R1 , Y ;sumar contenido de
Y.
STO X, R1 ¡almacenar resultado
en X.
HALT ¡stop.
Los lenguajes ensambladores
son llamados de bajo nivel porque
están muy cercanos al lenguaje
original de máquina; cada instruc-
ción en lenguaje ensamblador se
traduce directamente a órdenes
en lenguaje máquina. Aún con la
notación de lenguaje ensambla-
dor, sigue siendo bastante difícil
saber lo que está pasando en la
máquina echando una simple
ojeada.
Entonces ¿por qué no comuni-
carse con la máquina en lenguaje
corriente? Dado que todo idioma
está lleno de complejas irregulari-
dades y múltiples posibilidades de
interpretación, es muy difícil tradu-
cir a un lenguaje accesible para el
ordenador. Pero los ordenadores
dieron con un compromiso entre
el dioma corriente y el lenguaje
ensamblador: el lenguaje de alto
nivel.
Lenguaje como el PASCAL,
FORTRAN y BASIC son de alto ni-
vel. Pese a que no son exactamen-
te el idioma corriente, concretan
más información de lo que logra
habitualmente el lenguaje ensam-
blador. En un lenguaje de alto ni-
vel, un programa para sumar dos
números puede ser escrito de la
forma siguiente:
X = X + Y.
END
Desafortunadamente, el orde-
nador no acepta un texto seme-
jante. Hay que tener en cuenta,
que todo lo que sabe el ordenador
son las instrucciones propias del
lenguaje máquina, por este motivo
cualquier programa que se intro-
duzca tendrá que ser traducido a
su idioma. Lo que necesitamos es
un programa de ordenador que
contemple la transición del len-
guaje de alto nivel al código má-
quina, de bajo nivel. Esto pueden
hacerlo cuatro tipos de progra-
mas, pero cada uno de ellos utiliza
una aproximación diferente para
realizar la tarea. Estos cuatro pro-
gramas son: intérpretes, seudo-
compiladores, seudocompilado-
res increméntales y compiladores.
Intérpretes
El intérprete toma el material
en bruto ASCII de caracteres y, a
medida que va leyendo el texto,
ejecuta inmediatamente las órde-
nes que le da el código. Si en los
caracteres se lee PRINT X, busca
en su memoria el significado de la
instrucción PRINT e imprime el va-
lor almacenado en la posición X.
TEXTO DE PROGRAMA
INTERPRETE
rs te PROGRAMA
V7" RESULTANTE
Figura 2: Un seudocompllador primero
traslada un programa a código
Intermedio; entonces lee y ejecuta el
código intermedio.
En cuanto encuentra una orden
completa para ejecutar, realiza la
acción especificada. Aún cuando
el mismo intérprete está escrito en
lenguaje máquina, no logra con-
vertir el programa de alto nivel en
instrucciones de máquina. En
cambio, lee en el programa y eje-
cuta sus instrucciones de acuerdo
10 MSX
\
CARACTERES ASC11
Se traduce en:
s
96
PRINT
VARIABLE
LOCALIZACION
DE X
FINAL DE
SENTENCIA
Figura 3: Los tokens sustituyen a las
palabras claves y a las variables.
al vocabulario de palabras clave
existentes en el intérprete. Con es-
ta aproximación, sin embargo, el
intérprete debe perder tiempo en
leer y traducir el texto. En conse-
cuencia, los intérpretes son lentos.
Por otra parte, al traducir progra-
mas según se va introduciendo,
el intérprete no tiene que perder
varios minutos traduciendo el pro-
grama a códigp máquina antes de
ejecutarlo.
Seudocompiladores
Una manera de apresurar el
proceso de traducción es «predi-
gerir» el programa antes de co-
menzar a ejecutarlo. Esto es exac-
tamente lo que hace el seudo-
compilador (ver figura 2).
Antes de llevar a cabo la ejecu-
ción de un programa, la primera
mitad de un seudocompilador lo
k recorre y va traduciéndolo a valo-
res de uno o dos bytes llamados
tokens. Muchos de estos tokens
obedecen a diferentes palabras
clave en el programa (estos valo-
res son distintos según el BASIC).
Un valor, 24 puede obedecer a
PRINT, 34 a STOP, etc. (en el caso
del BASIC de Microsoft, todos los
tokens, sean del ordenador que
sea, son los mismos).
Una variable puede ser almace-
nada como token, seguida de un
número entero que indique la lo-
calización en la memoria. Todos
los espacios, retorno de carro y
comentarios en el programa se
suprimen porque el ordenador no
tiene ningún tipo de relación con
ellos. Lo que originariamente era:
(ver figura 3).
Los valores tokens que com-
prenden las sentencias resumidas
del programa son llamados seu-
docódigos o códigos intermedios.
El lenguaje de programación PAS-
CAL se maneja habitualmente con
seudocompilador.
Una vez traducido el programa
a seudocódigo, queda listo y eje-
cutado por la segunda mitad del
seudocompilador, el intérprete de
seudocódigo.
A diferencia de un intérprete, el
seudocompilador no tiene que tra-
ducir cada vez una orden. Dado
que el programa ha sido reducido
a series de tokens de 1 byte, el seu-
docompilador simplemente lee en
un byte y va a ejecutar esa acción.
Esto permite al programa que fun-
ciona por seudocompilador, eje-
cutar mucho más rápidamente
que uno que funciona por intér-
prete.
El mayor inconveniente de esta
técnica reside en que, antes de
que pueda funcionar el seudo-
El BASIC, el más
popular de los
lenguajes de
programación es, a su
vez, el más lento.
compilador, debe parar y traducir
el programa a un código interme-
dio. Es un proceso rápido: la
mayor parte de los programas pe-
queños tardan entre 10 y 15 se-
gundos en completar el procedi-
miento. Sin embargo, este produ-
ce un lapso significativo entre el
momento en que se le dice al or-
denador que ejecute el programa
y el momento en que comienza a
hacerlo (algunos sistemas permi-
TEXTO DE PROGRAMA
SEUDOCOMPILADOR
CODIGO INTERMEDIO
SEUDOCOMPILADOR
INCREMEWTAL
PROGRAMA
RESULTANTE
Figura 4: Un compilador convierte un
programa en código máquina. Este
puede ser ejecutado directamente.
MSX 11
en portada
ten almacenar el código de inme-
diato para uso repetido, pero tam-
bién en ese caso hay que esperar
por la retraducción cada vez que
se produce una modificación en el
programa). Además, aún cuando
traducir el código inmediato es
más rápido que traducir texto de-
secho, sigue siendo un proceso
demasiado lento dado que los
programas seudocompilados son
unas diez veces más rápidos que
los traducidos.
Seudocompiladores
increméntales
Es aburrido tener que esperar
aunque sólo sean unos pocos se-
gundos para que seudocompile
un programa. Para solucionarlo,
los diseñadores de lenguajes die-
ron con el seudocompilador incre-
mental (IPC). Con un IPC, el editor
de texto en que escriba su progra-
ma, está fusionado con el seudo-
compilador. A medida que teclea
un programa, el IPC sigue lo que
se está tecleando. Y al presionar el
retorno del carro (CR), el IPC inme-
diatamente traduce a seudocódi-
go la línea que se acaba de redac-
tar y la almacena. Porque sólo tra-
duce una línea por vez, el proceso
no lleva más de unas milésimas
de segundo. Es tan rápido que ni
se percibe que algo haya pasado.
El IPC puede o no mantener una
copia de la línea en su redacción
original.
Dado que la mayor parte de la
seudocompilación ya ha sido lle-
vada a cabo antes de que el pro-
grama se ejecute, un IPC puede
comenzar con la ejecución del
programa casi cuando se teclea
RUN. El IPC puede realizar algu-
nas tareas antes de comenzar, pe-
ro no provoca ninguna demora
evidente.
Al igual que un seudocompila-
dor normal, un IPC va mucho más
rápido que un intérprete porque el
volumen de la labor de traducción
se completa mucho antes de que
el programa comience a ser eje-
cutado. Pero el IPC tiende a funcio-
nar con lentitud significativamente
mayor que los seudocompilado-
res no increméntales, porque la
mayor parte está diseñada para
producir un código intermedio
compacto.
Los sistemas BASIC son gene-
ralmente escritos como IPC El in-
térprete BASIC de Microsoft es
realmente un IPC De hecho, la
mayoría de los sistemas a los que
se hace referencia como intérpre-
tes son en la actualidad IPC Los
verdaderos intérpretes son tan
lentos que muy pocas veces se
emplean.
Compiladores
Un verdadero compilador toma
el texto inicial ASCII de su progra-
ma y lo traduce a código máquina,
y no sólo a un código intermedio
(ver figura 3). Hace con un lengua-
je de alto nivel lo que un ensam-
blador hace con el lenguaje de
ensamblaje. Cuando se le dan
instrucciones a un ordenador para
un programa que ha sido compi-
lado, debe saltar al comienzo del
W1LLGLM:
12 MSX
I
código máquina y empezar a eje-
cutar. Porque no es necesaria nin-
guna traducción, el programa
puede transcurrir con mucha velo-
cidad, hasta 500 veces más rápi- 1
do que un programa interpretado.
Desgraciadamente, traducir un
programa de lenguaje de alto ni-
vel a código máquina es compli-
cado y muy lento. Al ejecutar cien-
tos de instrucciones por segun-
dos, el ordenador emplea varios
minutos para traducir un progra-
ma corto. Una vez completada la
traducción, sin embargo, es nece-
sario hacerlo otra vez. Una vez
compilado el programa, puede
cargarlo y ejecutarlo cuantas ve-
ces quiera, sin demoras. Es evi-
dente que existen opciones. Se
pueden llevar programas con in-
térpretes, con un seudocompila-
dor o con un verdadero compila-
dor. Si se usa un intérprete, la solu-
ción será rápida pero el programa
se desarrollará más lentamente. Si
se usa un compilador, el progra-
ma se desarrollará a mayor veloci-
dad, pero cada vez que sea nece-
sario efectuar una modificación
habrá que darle casi tres minutos
de tiempo al compilador. Si se usa
un seudocompilador, se logra un
compromiso entre la velocidad y
la conveniencia.
¿Qué es mejor? ¿Un intérprete o
un compilador? Todo depende
del uso que quiera dársele.
Para decidir el tipo de traductor
que debe elegirse, hay que pensar
en el trabajo a realizar. Si es un
problema rápido, puede ser prefe-
rible un intérprete. Seguramente
resultará más conveniente escribir
un programa con intérprete que
con compilador: pueden corregir-
se errores y volver a pasar el pro-
grama de inmediato. Si se va a pa-
sar una sola vez el programa, o a
lo sumo dos veces, ¿a quién le im-
porta demorar cinco minutos más
en pasarlo?
De todos modos, si se está tra-
bajando en un problema que re-
quiere cada una de las fracciones
de velocidad que puede rendir el
ordenador, habrá que usar un com-
pilador, que es también la elec-
ción correcta si se va a volver a pa-
sar el programa una y otra vez, sin
hacerle modificaciones. Cuando
un programa está en su forma de-
finitiva, tiene mucho sentido alma-
cenarlo permanentemente.
Hay muchas situaciones en las
que un buen compromiso entre
compilador e intérprete consiste
en desarrollar los programas con
el segundo, para luego, una vez
completados, pasados a limpio y
funcionando satisfactoriamente,
compilarlos para su rápida ejecu-
ción.
En la práctica, no habrá necesi-
dad de elegir el tipo de traductor a
utilizar. El oropio sistema tendrá un
intérpreU o un compilador para el
lenguaje que trabaje, aunque rara
vez tendrá ambas cosas.
Existen cuatro tipo de
transcriptores;
intérpretes,
seudocompiladores,
seudocompiladores
increméntales y
compiladores.
Conclusión
La mayoría de la veces, los dise-
ñadores de lenguaje han hecho
del BASIC un intérprete, del PAS-
CAL un seudocompilador y de
FORTRAM un auténtico compila-
dor. Así, los programas en BASIC
se ejecutan con ritmo bastante
más lento que los escritos en otros
lenguajes de alto nivel. No hay ra-
zón alguna para que estos len-
guajes tengan que usar el tipo de
traductores que usan. Podríamos
tener un seudocompilador para
BASIC, un compilador para PAS-
CAL y un intérprete para FOR-
TRAN. Es tonto comparar la veloci-
dad de un lenguaje con la de otro,
puesto que en gran parte la veloci-
dad está determinada por el tipo
de traductor que se use.
Dado que el BASIC se interpreta
normalmente para propósitos
prácticos, un programa BASIC irá
más lento que uno en FORTRAN o
en PASCAL Pero recordemos,
una vez más, que no se trata de
una falta del BASIC Cuando se
elige un lenguaje interpretado, se
está cambiando la velocidad por
conveniencia.
MSX 13
Título: MSX. El Manual
Escolar
Autor: Voss
Editorial: Ferré Moret, S. A.
Páginas: 379
De todos es conocida la utilidac
de los ordenadores para eliminar
extraterrestres o recorrer compli-
cados laberintos. Pero existen otrc
tipo de aplicaciones para las que
el ordenador es igualmente válido.
Una de estas aplicaciones es la
educación.
El Manual Escolar, es un libro
escrito para los alumnos de los úl-
timos cursos de EGB y BUP, y
contiene gran cantidad de progra-
mas que hacen que el estudio de
determinadas materias, resulte
una tarea más fácil, constructiva y
amena.
Las materias tratadas en el libro
son bastante variadas, dedicando
un capítulo a cada tema específi-
co, que son los siguientes: Mate-
máticas, Química, Física, Idiomas,
Biología/Ecología, Contaminación
ambiental, Geografía/Historia,
Economía y Matemáticas II. Como
se puede apreciar, los temas son
muy variados y entretenidos, y
ayudan a enfocar cualquier tipo de
problema hacia el ordenador.
El libro comienza con un rápido
repaso a las características del
BASIC y a las instrucciones más
empleadas. En capítulos posterio-
L
res se incluye el repaso a otras
instrucciones menos utilizadas
pero necesarias en algunas oca-
siones. Los capítulos empiezan
dando una descripción previa del
problema y finalizan con el pro-
grama en cuestión, todos los pro-
gramas están descritos de una for-
r
MSX
EL MANUAL
ESCOLAR
UN LIBRO DATA BECKEfí
nnAoo *om muta womwt. u
i
ma muy completa, siguiendo una
estructura similar en todos los ca-
sos:
1. Presentación del problema,
2. análisis del problema.
3. diagrama de flujo,
4. codificación del programa,
5. descripción del programa y
variables utilizadas, y
6. obtención de resultados.
Por otra parte, ninguno de los
programas resulta excesivamente
largo, por lo que se disminuyen las
posibilidades de cometer errores
al introducirlos, además de facilitar
al máximo su comprensión.
Resulta un libro adecuado para
todos los estudiantes, a quienes
no les gusta demasiado pasarse
las horas delante de un libro y
quieren darle una utilidad práctica
a su ordenador.
Título: LOGO de la tortuga
a la inteligencia artificial
Autor: Luis Rodríguez-
Roselló
Editorial: Vector Ediciones
Páginas: 581
Es indudable que existe un inte-
rés creciente en todo el mundo
por el lenguaje LOGO. Podría de-
cirse que se trata de un fenómeno
sociológico más que de un lengua-
je de ordenador. Existen publica-
ciones periódicas dedicadas en
exclusiva a este lenguaje, congre-
sos dedicados íntegramente a LO-
GO, asociaciones de usuarios en
muchos países, etc. A pesar de
que todo el mundo hable de él,
LOGO sigue siendo un gran des-
conocido, y la idea más generali-
zada sobre el mismo es que es un
lenguaje para niños.
La incorporación de la informá-
tica a la enseñanza es un hecho
imparable, y se diría que en la ac-
tualidad, es un fenómeno crítico
en nuestro país. Es, por tanto, el
momento idóneo para iniciar una
reflexión que permita conocer a
fondo LOGO, tanto desde un pun-
to de vista informático, como de su
filosofía educativa y sus posibilida-
des reales en la enseñanza. Este
es el objetivo primordial que se
propone el presente libro.
El enfoque dado a esta obra
proporciona una visión general
del LOGO sin centrarse en ningún
dialecto concreto, procurando uti-
14 MSX
lizar aquellas primitivas que son
comunes a la mayoría de las ver-
siones del lenguaje, y haciendo
hincapié sobre todo en las estruc-
turas de los programas, alejándo-
se de un enfoque de tipo «ma-
nual» para un ordenador concreto.
El autor ha planteado acertada-
mente el libro, suponiendo que el
lector ignora todo sobre este len-
guaje, por lo cual comienza tratan-
do los aspectos generales de ésta,
su pedagogía asociada y su rela-
ción con el mundo de la informáti-
ca en la educación.
A continuación comienza el
aprendizaje concreto del lengua-
je; se presentan los procedimien-
tos incorporados, las entradas que
necesitan estos procedimientos,
la posibilidad de definir procedi-
mientos el usuario, las variables,
las listas, el control del editor y la
sintaxis.
El siguiente capítulo nos intro-
LOGO
DE LA TORTUGA A LA
INTELIGENCIA ARTIFICIAL
duce en la parte del LOGO más
conocida, y quizá la más especta-
cular: los gráficos de tortuga.
Aprendemos las instrucciones
que permiten subir y bajar la plu-
ma, mostrar y esconder la tortuga,
situarla en coordenadas cartesia-
nas, orientarla. También, abundan
los ejemplos de cómo utilizarla,
cómo por ejemplo, una serie de
procedimientos para dibujar va-
rios tipos* de espirales utilizando
un proceso recursivo.
Los gráficos de tortuga nos ser-
virán también para comprender la
mejor cualidad del lenguaje LO-
GO: la programación modular.
Una serie de ejemplos nos mues-
tran cómo diseñar módulos que
realizan cada uno un dibujo, y lue-
go combinarlos de forma que se
interrelacionen.
disponemos de
TAPAS ESPECIALES
para sus ejemplares
SIN NECESIDAD DE ENCUADERNACION
b50p¡2i
Para hacer su pedido, rellene este cupón HOY MISMO
y envíelo a: MSX MAGAZINE
Bravo Murillo, 377 Tel.: 733 79 69 - 28020 MADRID
(en cada tomo se pueden encuadernar 6 números)
Ruego me envíen tapas para la encuademación de mis ejemplares de
MSX MAGAZINE. al precio de 650 pts más gastos de envío.
El importe lo abonaré
□ POR CHEQUE □ CONTRA REEMBOLSO □ CON MI TRAJETA DE
CREDITO □ AMERICAN EXPRESS □ VISA □ INTERBANK
Número de mi tarjeta:
Fecha de caducidad Firma
NOMBRE
DIRECCION
CIUDAD c. P
PROVINCIA
J
SOFTWARE
Programa: North Sea
Helicopter
Tipo: Juego
Distribuidor: Datamarket
Formato: Cassette
Los simuladores de vuelo son, a
veces, algo más que un simple
juego. Este es un claro exponente
de que la simulación, tiene como
fin ayudar al aprendizaje, ya sea
de vuelo en Helicóptero (como en
este caso), o en avión, etc.
Sin embargo, no todo iba a ser
volar, ya que, en North Sea Heli-
copter, se cuenta con el aliciente
adicional de que a la vez que se
intenta volar hay que rescatar a
unos hombres que han sido arro-
jados al temible Mar del Norte por
la tempestad.
Tu copiloto dará las coordena-
das en donde se encuentra el úni-
co superviviente del desastre ocu-
rrido en una plataforma petrolífera.
Pero para cerciorarte de ello, pul-
sando la «M» aparecerá el mapa
de la zona, donde se mostrarán la
plataforma petrolífera, la base de
tierra, el helicóptero y el hombre a
salvar. Pulsando de nuevo la «M»
se vuelve a la pantalla principal,
que es la cabina del piloto. Desde
aquí se pueden ver todos los con-
troles y relojes que posee el apa-
rato y que tendrás que dominar a
la perfección para realizar un vue-
lo perfecto.
Desplázate hacia el lugar lo más
rápidamente posible, pero con
cuidado, ya que el tiempo se irá
complicando bastante y llegará a
ser de auténtica tempestad.
Tendrás que maniobrar de tal
forma para acabar justo encima
de él, que creerás hacer un autén-
tico vuelo en helicóptero. Una vez
situado encima, pulsando la «R»
guir para conseguir volar. La
fección sólo se consigue con
práctica.
se bajará una cuerda e izaremos
el hombre a bordo. Esto sólo ocu-
rrirá cuando nos encontremos en
el lugar apropiado.
Desde el despegue, hasta el
vuelo nocturno (con posibilidad
de volar por infrarrojos), todo está
pensado para lograr el máximo
realismo, desde el sonido hasta la
voz del copiloto, algo que pode-
mos testimoniar es el mejor con-
seguido de todos los simuladores
de vuelo que hemos visto.
El atractivo del juego es la nece-
sidad de utilizar al menos un joys-
tick, puesto que, como buen heli-
cóptero necesita de dos mandos
para ser maniobrado. El que tenga
uno, tendrá que conectarlo en el
port 1 de joystick y usar las teclas
del cursor como joystick adicional.
Cada uno tiene una función es-
pecífica, por lo que, si no tiene
joystick será difícil jugar con él.
• Las instrucciones son comple-
tas e indican todos los pasos a se-
I Puntuación:
Presentación: 8
Rapidez: 8
Claridad: 9
Adicción: 9
w . hCF'TF ízEÍ-
- HELICCFTEF
16 MSX
Programa: Flight Deck
Tipo: Juego
Distribuidor: Datamarket
Formato: Cassette
Los incidentes del Golfo de Si-
dra se pueden plasmar en este
programa directamente, donde la
flota americana atacó Libia.
Es esta ocasión, tú estás al man-
do de un portaaviones situado
cerca de una isla donde tienen su
cuartel general unos terroristas. Tu
misión consiste en desmantelar y
destruir sus bases antes de que
acabe el tiempo y sean ellos quien
ataquen.
Hay tres pantallas diferentes.
Con «F1» nos encontramos en el
portaaviones, donde podremos
controlar los aviones que tene-
mos, la velocidad y dirección del
barco y el radar de corto alcance.
La tecla «F2» nos da el mapa, en el
que veremos la posición relativa
del barco y los aviones con res-
pecto a la isla y el combustible de
los aviones en vuelo; y «F3» nos
da una imagen de la isla y del
combustible de los aviones.
En el portaaviones, posees 1 0 ti-
pos de aviones, entre cazas, bom-
barderos y aviones de reconoci-
miento. Con los cazas has de de-
rribar cuantos aviones enemigos
aparezcan en la isla. Con los avio-
nes de reconocimiento tendrás
que fotografiar la isla completa pa-
ra descubrir las bases escondidas
y con los bombarderos tienes que
destruir sus bases y escondites. La
puntuación se realiza en base al
número de aviones que te que-
dan, la cantidad de isla fotografia-
da y en tu habilidad para destruir
cazas enemigos y aterrizar en el
portaaviones.
Todo esto suena sencillo y fácil,
pero nada más lejos de la reali-
dad. Para empezar has de contro-
lar el barco y situarlo de forma que
el viento no cruce la cubierta de
despegue, pues esto resulta fatal
para los aviones. Con las teclas
del cursor arriba/abajo, controla-
remos la velocidad del portaavio-
nes, y con las teclas derecha/iz-
quierda, el desplazamiento del
barco. Pero ¡cuidado!, si te acer-
cas demasiado a la isla, los avio-
nes enemigos atacarán al barco
hasta que lo hundan o hasta que
salgas de la zona peligrosa que
rodea la isla. De todas formas, con
tus cazas podrás contrarrestar el
ataque.
Una vez situado el barco en el
lugar ideal, elige el tipo de avión
que quieres utilizar. Esto se hace
sacando uno a uno del hangar y
trasladándolo con el tractor hacia
uno de los tres lugares existentes
en la cubierta o bajándolos me-
diante el ascensor para colocarlos
a la cola, ya que los diez aviones
están en una fila en hangares su-
cesivos. Cuando uno sale a fum-
plir una misión, el resto de los
aviones se desplazan hacia el lu-
gar libre. De esta forma, el avión
que está en vuelo, si consigue ate-
rrizar (maniobra ciertamente peli-
grosa y difícil) se sitúa al final de la
fila y espera su turno.
El tractor y los aviones en vuelo
se controlan con joystick. El des-
pegue y el aterrizaje requieren ha-
bilidad y mucha práctica. De ma-
nera que no os preocupéis si al
principio no sale bien.
Puntuación:
Presentación: 9
Rapidez: 8
Claridad: 8
Adicción: 8
MSX 17
SOFTWARE
Programa: Beamrider
Distribuidor: Proein, S.A
Tipo: Juego
Formato: Cassette
Un nuevo tipo de juegos espa-
ciales está apareciendo. El espa-
cio sideral se ha quedado atrás,
las luchas más despiadadas ocu-
rren en olvidadas Galaxias perdi-
das y entre los más extraños seres,
pero vivamos en un lugar u otro,
seamos guerreros o contraban-
distas, siempre seremos atacados
porque estamos en la Era de la su-
pervivencia.
Beamrider hará que te encuen-
tres en una estación espacial, de
la que estás a punto de salir por-
que una peligrosa misión va a co-
menzar. Contarás con toda clase
de armas sofisticadas, como un
rayo láser que fulminará a tus ad-
versarios y torpedos que utilizarás
en caso de encontrarte una fotale-
za o nave enemiga, objetivo de tu
misión.
Pero a parte de esto —que te
proporcionará una gran puntua-
ción- debes exterminar todas las
naves enemigas que encuentres a
tu paso.
Velocidad de reacción será una
de tus grandes armas a la hora de
destruir a tu enemigo, pero que no
te sirva de descuido, ya que exis-
ten objetos inmóviles que se estre-
llarán contigo si no controlas bien
tu nave.
Irás avanzando en sectores pla-
netarios cada vez que consigas
batir a quince platillos voladores
blancos, así irás consiguiendo
puntos y podrás acceder a destruir
la nave nodriza, pero sólo podrás
atacarla con un torpedo, así que
no los desperdicies.
A primera vista el juego se co-
rresponde en todas sus facetas a
los característicos juegos de mar-
cianitos, pero también debemos
darnos cuenta que el espacio es
siempre del mismo color. Las dife-
rencias de este juego no se en-
cuentran en el tema, ni en su eje-
cución, sino en la realización, tanto
gráfica como en sonido.
Beamrider parte de una nave
nodriza en la que podemos decre-
tar nuestra hora de despegue, las
compuertas se abrirán, acompa-
ñadas de un potente sonido, que
nos anuncia la hora de la batalla,
sirve tanto para alertarnos como
para concentrarnos. La supervi-
vencia a comenzado, nuestro ra-
dar empieza a detectar intrusos,
las coordenadas de posición nos
serán dadas gracias a la nueva
concepción del espacio. Una
perspectiva creada hacia el infinito
^^^^^^^^^^^
66^
1
Sdptor O 2
GO!
1
por unas rayas fluorescentes y la
continua sucesión de horizontales
hacia nosotros, hace que la veloci-
dad y el acercamiento a las naves
enemigas se proyecten sin darnos
cuenta, en una distracción más
que agilizará en gran medida
nuestros reflejos.
Platillos, naves, rastreadores,
minas y escombros serán los ob-
jetos de destrucción que constan-
temente nos har^n perder la pa-
ciencia, pero recuerda la ley de la
supervivencia «matar para que no
te maten», aunque esto no será
necesario porque, a diferencia de
otros juegos, si ves que pierdes tu
concentracióm y no puedes se-
guir, puedes pulsar el cero y ob-
tendrás una tregua.
Otra característica a destacar
del juego es la posibilidad de dejar
de jugar en una partida de tres o
más jugadores, sin tener que dejar
de jugar estos, cuando sea tu tur-
no y decidas retirarte pulsa el nú-
mero cinco y tu aventura habrá fi-
nalizado.
Una advertencia: en los secto-
res más altos, como puede ser el
1 0, no te dará tiempo a fijarte en si
has conseguido destruir las naves
que aparecen a tu encuentro, por
eso debes aprender a guiarte del
sonido y los cambios de color de
tu pantalla, sin duda pasarás mo-
mentos de tensión, pero tienes
una misión que cumplir, ¡adelante!
Puntuación:
Presentación: 8
Claridad: 6
Rapidez: 7
Adicción: 7
18 MSX
Programa: Gráficas de
Gestión
Distribuidor: Idealogic
Tipo: Aplicación
Formato: Cassette
Este programa ha sido realiza-
do para que Ud. pueda «ver» en
forma gráfica los resultados de su
gestión, sus cuentas o sus cálcu-
los.
Es necesario para realizar una
buena gestión, conocer desde el
principio todos los datos con los
que cuenta a la hora de preparar
un informe o tomar una decisión.
Seguir un detallado estudio sobre
las posibilidades, aumentos o dis-
minuciones en un determinado
período, es la base de un acertado
comportamiento ante los cambios
eventuales que puede sufrir una
economía, un producto e incluso
una persona (pirámides poblacio-
nales).
La estadística siempre ha sido
una ciencia que se ha visto un po-
co devaluada en sus posibilida-
des, porque se basa en probabili-
dades, pero de todos es sabido
que a la hora de tomar una deci-
sión o efectuar un cambio, la es-
tadística marca la pauta a seguir
en el comportamiento del fenóme-
no.
Gráficas de gestión es un pro-
grama para nuestro gusto muy re-
cortado, porque el primer requisito
que se espera al contemplar un
gráfico de gestión es la singulari-
zación en un golpe de vista la si-
tuación financiera de una empre-
sa o el desarrollo obtenido a lo lar-
go de un período.
Para estos requisitos nuestro
programa está suficientemente
capacitado, pero no cuenta con lo
que podríamos llamar memoria,
algo totalmente necesario para
poder comparar gráficos, es decir,
si quisiéramos observar la trayec-
toria económica de dos bienes
complementarios al mismo tiem-
po, no podríamos, pues tendría-
mos que verlos individualmente.
Vamos a hacer referencia a los
apartados con los que cuenta y
comentarlos uno por uno: Entrada
de datos. Aquí se le permite definir
3 columnas con 1 2 datos por cada
una de ellas, bien por meses o nu-
merados del 1 al 12.
Modificaciones y Listado. Le
permite modificar (datos o título),
además de introducir nuevos da-
tos e imprimir.
Rotulación. Permite nominar a
sus gráficas, ejes (x e y) y el perío-
do de trabajo.
Gráficas de barras, lineal y cir-
cular. Estos son tres apartados di-
ferentes para elegir el método más
cómodo de representación. En es-
tos apartados podemos hacer no-
tar la falta de color en la gráfica de
sectores, ya que los tanto por cien-
to quedan bien delimitados, pero-
sería mejor si a cada dato se le hu-
biera designado un color. Sería
más inmediata la observación.
Grabación y Lectura. Esta op-
ción se subdivide a su vez en va-
rías posibilidades de obtención de
listados o almacenamiento en
cassette.
En el segundo apartado de Lec-
tura, debe saber que una vez leido
el fichero, si opta por introducir
nuevos datos, los anteriores desa-
parecen.
Códigos de impresora. Aquí se
le permite definir la densidad gráfi-
ca «tamaño», de la gráfica a impri-
mir. Si Ud. posee una impresora
para tratamiento de pantallas grá-
ficas, cambiando el código podrá
obtener, Bit Image Graphis, pa-
sando de la simple resolución a la
pantalla gráfica de mayor resolu-
ción.
Notas complementarias, el edi-
tor le facilitará en todo momento lo
que debe realizar, siga sus ins-
trucciones. Una advertencia: nun-
ca pulse la opción Impresora ya
que perdería el control sobre el l
programa si no está conectada
ésta.
Es un programa para realizar
gráficas a nivel muy personal y so-
bre temas muy individuales, pues-
to que si las gráficas se quieren
elaborar como datos finales, hay
que hacer un estudio previo en el
que se reflejen claramente los da-
tos de estudio muy sintetizada-
mente.
Con esto no queremos desvir-
tualizar la propiedades del progra-
ma, sino simplemente hacerle sa-
ber sus posibilidades.
J
MSX 19
Programas
Sony MSX, para lo que
guste ordenar.
EDUCATIVOS
HIT 3IT
SOFTWARE
PROGRAMAS SONY MSX
Educativos
Monkey Academy
Alfamat
Viaje Espacial
Multipuzzle
Noria de Números
Corro de Formas
Coconuts
Yo Calculo
Selva de Letras
El Cubo
Informático
Electro-graf
El Rancho
Teclas Divertidas
Boing Boning
Compulandia
Mil Caras
Logo
Países Mundo-
Países Mundo-
Tutor
Computador
Adivino
Aprend. Inglés-l
Aprend. lnglés-2
Cosmos
Curso de Básic
Juego de
Números
-1
-2
Juegos
Antártic Adventure
Athletic Land
Sparkie
Juno First
Car Jamboree
Battle Cross
Crazy Train
Mouser
Computer Billiards
Alí Babá
Track & Field-I
Track & Field-ll
Dorodon
Chess (Ajedrez)
Senjo
E.I.
Lode Runner
Super Tennis
• Backgammon
• Super Golf
• Hustler
• Binary Land
• Driller Tanks
• Stop the Express
• Ninja
• Les Flics
• La Pulga
• The Snowman
•Cubit
• Pack 16K
• Fútbol
• Kung Fu
•Batalla Tanques
• Mr. Wong
•Xixolog
• Buggy
• Sweet Acorn
• Peetan
. JumpCoaster
• Buggy 84
• 3D Water Driver
• Pinky Chase
• Wedding Bells
• Fightting Rider
Aplicación
. Memoria Ram 4 K
• Creative
Greetings
• CharacterCollect
• Quinielas y
Reducciones
• Pascal
• Ensamblador
• Generador Juegos
Gestión
• Hoja de Cálculo
• Homewriter
• Control Stocks
• Contabilidad
Personal
• Ficheros
• Procesador
de Textos
• Control Stocks
• Vencimientos
• Contabilidad
1.500
Programa: Confused?
Tipo: Juego
Distribuidor: Datamarket
Formato: Cassette
Los rompecabezas siempre ha
sido la forma de entretenimiento
más popular. ¿Quién no ha resule-
to, al menos una vez, un puzzle?
Los hay de mayor o menor dificul-
MSX 21
SOFTWARE
tad, así como de mayor o menor
número de piezas. Estos puzzles
presentaban un problema de es-
pacio bastante importante, si eran
muy grandes había que ponerlos
en una mesa o en una gran tabla
para acabarlos.
Esto ya no es problema cuando
se trata de utilizar el ordenador.
Además, este programa es el pri-
mero en su especie para resolver
rompecabezas.
En la pantalla aparecen dos
ventanas y un menú con las distin-
tas opciones. En la ventana dere-
cha, resolveremos el rompecabe-
zas y en la izquierda, bajo el logo
del juego se esconde el dibujo ori-
ginal que hay que realizar.
Contamos con la posibilidad de
escoger entre diez dibujos distin-
tos, así como la dificultad del dibu-
jo en cuestión. Si se escoge el más
pequeño (muy sencillo de resol-
ver) que es 2 x 2, el dibujo se divi-
dirá en cuatro partes que tendrá
que colorar en el orden adecuado
en el menor tiempo posible y
siempre antes de que se te acabe,
puesto que a mayor dificultad,
mayor es el tiempo que tienes pa-
ra resolverlo.
Las piezas del puzzle se mueven
con la ayuda de las teclas del cur-
sor y la barra espadadora o un
joystick. Con ellos se cogen las
piezas y se van situando en los lu-
gares adecuados. Si lo ha hecho
bien, es decir, si ha acertado la si-
tuación y la pieza al completar el
puzzle sonará una musiquilla y
aparecerá en la ventana de la iz-
quierda el dibujo original, de lo
contrario sonará una campanada
indicándole que se acabó el tiem-
po asignado.
En principio parece sencillo, pe-
ro la característica principal de es-
tos rompecabezas, el movimiento,
complican mucho la resolución de
éstos.
Tienes ayudas para resolver los
problemas, pero éstas restarán
puntos. El límite de tiempo está
prefijado en función del número
de piezas del rompecabezas,
siendo el tiempo inicial cuando el
puzzle es de 2 x 2 menor que
cuando es de 12x8.
Prueba tu paciencia y habilidad
para resolver todos y cada uno de
estos rompecabezas, en el menor
tiempo posible.
Puntuación:
Presentación: 8
Rapidez: 10
Claridad: 9
Adicción: 8
Programa: Drome
Tipo: Juego
Distribuidor: Dinamarket
Formato: Cassette
Percy se ha introducido en el
corazón de Drome. Ayúdale a rea-
lizar su peligrosa misión, que es la
de destruir el sistema tan comple-
to y potente de Drome.
Se trata de un super ordenador
descontrolado, el cual intentará
eliminarte. Por suerte, tu odisea se
inicia en la sala de control central
de Drome, de donde tendrás que
partir hacia uno de los cuatro sec-
tores de que se compone y des-
truir todos y cada una de las de-
fensas que tiene. La misión es
complicada, pero estás tú para
echarle una mano, que falta le ha-
ce.
Uno de los sectores es el interior
de un cable, del que emana una
fuente de electrones y protones
que intentarán atacarle. Obvia-
mente tendrás que destruirlos con
tu cañón de neutrones.
Elimina el máximo número de
ellos para desactivar esta defensa.
Otro sector es el de las motos de
luz. Una de estas motos es la del
ordenador, que intentará hacerte
estrellar con la estela que deja la
tuya. Procura esquivarla a la vez
que intentas destruirla de la mis-
ma manera, acelera, despégate
de ella y enciérrala para que se es-
trelle.
El sector de los tanques es el
más peligroso, puesto que éstos
van detrás de tí a la vez que dispa-
ran sus cohetes. Aguarda tu opor-
tunidad y escóndete. Llegará tu
momento y cuando lo haga, dis-
para a matar.
Por último, está la habitación de
la válvula principal. Aquí se trata
de destruir una sección de la vál-
vula y escapar a través de ella. Es--
te lugar se halla protegido por
múltiples cañones de rayos láser,
que barrerán el suelo para locali-
zarte y destruirte. Sólo con pacien-
cia y perseverancia conseguirás
tu propósito. Dispara continua-
mente, a la vez que esquivas sus
rayos, y frena a la super máquina.
Puntuación:
Presentación: 7
Rapidez: 8
Claridad: 7
Adicción: 7
SUSCRIBASE
POR TELEFONO
* más fácil,
* más cómodo,
* más rápido
Telf. (91) 733 7969
7 días por semana, 24 horas a su servicio
SUSCRIBASE A
La memoria de vídeo (VI)
Los modos
de pantalla
Tras haber concluido el estudio de los 4
sistemas de almacenamiento de la memoria
de vídeo y de las figuras móviles, pasamos
a estudiar en este número las transiciones entre
las tablas de los distintos modos de pantalla.
uponemos que habréis
compendido bien el funcio-
namiento de las tablas que
componen los cuatro sistemas de
almacenamiento. Pero esta serie
pretende profundizar aún más en
esas tablas, comentando los valo-
res iniciales que toman y obser-
vando los cambios producidos en
ellas al alterar el sistema de alma-
cenamiento en el que estamos tra-,
bajando.
Enchufemos nuestro
ordenador MSX
El primer modo del que podéis
disponer al enchufar vuestro orde-
nador es el modo SCREEN 0, cuyo
sistema de almacenamiento sólo
posee las tablas 0 y 2. La tabla 0,
encargada de la distribución en
pantalla de los carácteres, puede
tomar dos valores iniciales. Al co-
nectar el ordenador, la pantalla
muestra el mensaje "MSX BASIC
Versión 1 .0. Copyright 1 983 by Mi-
crosoft. 28815 bytes free" (en el
caso de que tu ordenador sea de
16 K de memoria, pondrá "12431
bytes free") y también muestra en
la parte baja de la pantalla el con-
tenido de las teclas de función,
pues el ordendaor tiene en su inte-
rior una zona de la memoria ñor-*
mal (no de la de vídeo) que ordena
cómo debe disponerse la tabla 0
al enchufar. Pero si desde esa si-
tuación introduces un comando
SCREEN ordenando situar otro
modo de pantalla, y luego vuelves
al modo SCREEN 0 de la misma
manera, la tabla 0 borrará la pan-
talla, manteniendo el número de
columnas que hubiera la última
vez que usasteis el modo SCREEN
0 (si no habéis utilizado la orden
WIDTH desde que lo conectásteis,
mantendrá un WIDTH 37) y situará
el contenido de las teclas de fun-
ción si no habéis ejecutado un
KEY OFF. Pero lo importante para
el programador es que la tabla 0
borra la pantalla SIEMPRE que hay
un cambio de modo de pantalla,
luego si tenemos un texto en la
pantalla en el modo SCREEN 1, y
queremos mantenerlo en el modo
SCREEN 0, tendremos que volver-
lo a pintar. Por lo tanto el comando
SCREEN también puede sustituirá
la orden CLS, si es que nos halla-
mos en el modo SCREEN 0.
La tabla 2, encargada de alma-
cenar los patrones de los carácte-
res, al ejecutarse la orden SCREEN
0 toma los patrones de la lista de
los 256 caracteres MSX. Esto es
muy peligroso si habéis introduci-
do nuevos caracteres, pues estos
se borran y son sustituidos por los
caracteres originarios. Por lo tanto,
salvaguardad los datos de vues-
24 MSX
el modo SCREEN 0, nada más en-
chufar el ordenador, la zona libre
de memoria está llena de datos
que poseen los ordenadores SO-
NY, y como para pasar a BASIC ha
de aparecer en la pantalla un ME-
NU, con el nombre del oraenador
trazado encima, y todo ello en el
modo SCREEN 2, los datos de ese
sistema de almacenamiento se
mantienen al pasar al modo
SCREEN 0, exceptuando las zonas
ocupadas por las tablas 0 y 2. Así
os podréis encontrar las 3 figuras
móviles que el banco de datos uti-
liza, diseñadas entre los octetos
14336 y 14359, en lo que en el
modo de pantalla era la tabla 14.
En esa zona libre de la memoria
podéis almacenar los datos que
queráis, e incluso podéis utilizarla
para almacenar números que ten-
gáis que usar en vuestros progra-
mas, o grandes bloques de datos.
tros caracteres en otra parte del
ordenador, si es que queréis vol-
verlos a utilizar.
Pero la tabla 0 tiene 960 octetos,
y la tabla 2 tiene 2048, y sin em-
bargo la memoria de vídeo tiene
un total de 16384. ¿Qué sucede
en el sistema de almacenamiento
del modo SCREEN 0 con los
1 3376 octetos restantes? Pues su-
cede que simplemente se quedan
vacíos, o mejor dicho, que no se
alteran. Si hemos diseñado en el
modo SCREEN 1, por ejemplo,
unas figuras móviles y las hemos
introducido en la tabla 9 (com-
prendida entre los octetos 1 4336 y
1 6383), al pasar al modo SCREEN
0 los patrones no se borran, y se
mantienen en la memoria de
vídeo inalterados, pues esa zona
de la memoria de vídeo es zona li-
bre en SCREEN 0 (los 1 3376 octe-
tos libres están distribuidos en
nuestros ordenadores MSX de la
manera siguiente: son los com-
prendidos entre el 960 y el 2047, y
los comprendidos entre el 4096 y
el 16383. En la figura 1 podéis ver
más detenidamente las zonas li-
bres de la memoria de vídeo en
los cuatro sistemas de almacena-
miento).
Si alteráis un valor en los octetos
de la zona libre a partir del 14336,
ese valor alterado se mantiene
luego al pasar a otros modos de
pantalla, luego SE PUEDEN DISE-
ÑAR SPRITES EN EL MODO
SCREEN 0, aunque no se puedan
utilizar más que en los otros mo-
dos de pantalla. A esto nos refería-
mos en el número anterior cuando
hablábamos de que también se
puede establecer una identifica-
ción entre los patrones de los ca-
racteres y los patrones de figura
móvil en el modo SCREEN 0.
Si poseéis un ordenador SONY
MSX, os daréis cuenta de que en
En el sistema de almacena-
miento del modo SCREEN 1 exis-
ten las tablas 5, 6, 7, 8 y 9. La tabla
5 funciona exactamente igual que
la tabla 0 en el sistema de almace-
namiento del modo SCREEN 0, y la
tabla 7 funciona igual que la tabla
2 con los patrones de los caracte-
res. La tabla 6, encargada de los
colores en el modo SCREEN 1, al
ejecutarse la orden SCREEN 1 ini-
cial iza todos los caracteres con
los colores establecidos de fondo
y tinta, poniendo a todos los carac-
teres con la misma combinación
de colores. Aunque hubiéramos
alterado alguna combinación, la
inicialización de la tabla 6 es drás-
tica.
La tabla 8, al igual que las tablas
1 3 y 1 8, no cambia nada al ejecu-
tarse la orden SCREEN 1, a excep-
ción de la coordenada «y» de to-
das las figuras móviles, que toma
el valor 209, situando a todos los
MSX 25
La pantalla
«sprites» fuera de la zona visible
de la pantalla. Al enchufar el orde-
nador, cada plano de proyección
contiene a la figura móvil de su
mismo número (el plano 0 la figura
0, el 1 la 1, etc..) y si son figuras
móviles «grandes», el plano 0 con-
tiene a la 0, el 1 a la 4, el 2 a la 8,
etc.. (como ya vimos en el capítulo
quinto, dedicado a las figuras mó-
viles).
La tabla 9, como las tablas 14 y
1 9, no sufre ningún tipo de cambio
al ejecutarse el comando
SCREEN, sea cual sea el modo en
el que nos hallemos.
El sistema de almacenamiento
del modo SCREEN 1 tiene un total
de 11360 octetos de memoria li-
bre, distribuidos de la siguiente
manera: la zona de memoria com-
prendida entre el octeto 2048 y el
6143, la zona entre el 7040 y el
8191, y la zona entre el 8224 y el
14335.
En el sistema de almacena-
miento del modo SCREEN 2, la ta-
bla 1 -1 2, responsable de los pixels
que han de salir de color de tinta o
de color de fondo, aquella tabla a
la que llamábamos «mapa de la
pantalla», al ejecutarse la orden
SCREEN, borra absolutamente to-
dos los datos que tenía e introduce
ceros en todos sus octetos. La ta-
bla 10, que situaba unos cuadros
en función de otros del mismo
campo, al ejecutarse la orden
SCREEN 2 sitúa cada cuadro en
función de sí mismo. El manejo de
estas dos tablas, en consecuen-
cia, ha de hacerse con cuidado,
pues si tenéis algo dibujado en el
modo SCREEN 2 se os borrará al
cambiar de modo de pantalla, y lo
mismo sucederá con los trucos
gráficos que hayáis logrado pintar
con la tabla 10.
La tabla 1 1 inicializa a TODOS
sus octetos con el color de fondo
establecido por la última orden
COLOR, y a todos les sitúa un co-
lor de tinta transparente (color nú-
mero 0). En el momento en que
desde BASIC queramos impreg-
nar de un color a un píxel con la
orden PSET, y no especificamos el
color, el octeto correspondiente de
la tabla 1 1 adquiere el último color
de tinta especificado en una sen-
tencia COLOR.
Estas drásticas maneras de ini-
cializarse que tienen estas tablas
al ejecutarse la orden «SCREEN
2», es decir, al producirse la transi-
ción de un modo de pantalla cual-
quiera al modo SCREEN 2, en el
caso de que usar este modo sea
imprescindible (en muchos casos
O 960
2048
4096
16384
SC R EEN
O
2048
8192
6144 7040 8224
SCREEN
1
14336
16384
7040 8192
16384
Y/A TABLAS DE LA MEMORIA DE VIDEO I I MEMORIA LIBRE
26 MSX
lo es). El sistema de almacena-
miento del modo SCREEN 2 sólo
tiene 1 152 octetos de memoria li-
bre entre los octetos 7040 y 8191,
ambos inclusive. (Aún así, luego
veremos un truco gracias al cual sí
se pueden conservar los datos de
las tablas del modo SCREEN 2).
La tabla 1 7, al ejecutarse la or-
den SCREEN 3, introduce en todos
los bloques de 4 x 4 pixels el color
de fondo que esté establecido,
luego destruye los dibujos que es-
tén en la pantalla. La tabla 15, en-
cargada de situar unos cuadros
en función de otros, también se
inicializa drásticamente, poniendo
cada cuadro en función de sí mis-
mo, y haciendo desaparecer, co-
mo sucedía en el sistema de alma-
cenamiento del modo SCREEN 2,
todos los trucos gráficos que hu-
biera pintados.
El modo SCREEN 3 tiene 1 1 904
octetos de memoria libre, distribui-
dos de la siguiente manera: los
octetos comprendidos entre los
octetos 1 536 y 2047, entre el 291 6
y el 691 1, y entre el 7040 y el
14335.
¿Qué hacer con la
memoria libre?
Aplicaciones
La principal aplicación de la
memoria de vídeo libre es, por su-
puesto, llenarla de datos que sean
necesarios para vuestros progra-
mas, pero teniendo siempre cui-
dado con los procesos de transi-
ción de un modo de pantalla a
otro, pues es posible que el otro
modo de pantalla al que queréis
pasar ocupe esa memoria libre
con tablas que se inicializen de
forma drástica, con lo cual esos
datos que teníais almacenados se
han borrado, y tenéis que volver-
los a introducir. Fijaos bien en la fi-
gura 1, que representa las zonas
libres de la memoria de vídeo en
los cuatro sistemas de almacena-
miento, antes de elaborar un pro-
grama que conlleve un proceso
de transición de un modo a otro.
Para manejar la figura 1 debéis te-
ner mucho cuidado, pues en este
mapa de la memoria hemos in-
cluido los números de los octetos
que comienzan una zona, pero no
los que la terminan, así que, por
ejemplo, si tomáis la zona de me-
moria que va desde el octeto 2048
all 6144 en el sistema de almace-
namiento del modo SCREEN 1,
esa zona es en realidad la que va
del 2048 al 61 43, ambos inclusive,
pues el octeto 6144 ya pertenece
a la zona siguiente. Tened, por lo
tanto, en cuenta, que una zona
siempre comienza con un número
par y termina con uno impar.
Pero la memoria libre no sólo
sirve para almacenar datos arbi-
trarios, sino también para trasladar
datos dentro de la misma memo-
ria de vídeo.
Un ejemplo bastante sencillo de
esto último es la traslación de ca-
racteres programables. Como ya
dijimos antes, los caracteres esta-
blecidos en el sistema de almace-
namiento del modo SCREEN 0 en
la tabla 2, se pierden al pasar al
modo SCREEN 1, pues la tabla 7
inicializa con los 256 caracteres
MSX, y no considera si habéis
cambiado algún carácter o no. Sin
embargo, los datos de vuestros
caracteres cambiados se conser-
van donde estaban, es decir, entre
los octetos 2048 y 4095, que en
SCREEN 1 son de memoria libre.
Tenéis la suerte, por lo tanto, de
que vuestros datos no hayan sido
borrados, a pesar de que los ca-
racteres que van a escribirse en la
pantalla son los que se encuen-
tran en la tabla 7, entre los octetos
0 y 2047. Si ahora introducía la or-
den;
FOR T=0 TO 2047A/POKE
T,VPEEK(T + 2048:NEXT
«en realidad estáis situando en la
'tabla 7 todos los datos que antes
' se hallaban en la tabla 2, y por tan-
to se conservan vuestros carácte-
res programados, y salen a la pan-
talla en el modo SCREEN 1. Para
realizar el proceso inverso, no po-
déis hacer lo mismo, pues en el
sistema de almacenamiento del
modo SCREEN 0 no son memoria
libre los octetos del 0 al 2047, por-
que la tabla 0 ocupa 960 octetos,
del 0 al 959. De ese manera, al
cambiar al modo SCREEN 0, bue-
na parte de vuestros datos han de-
saparecido y no podéis introducir-
los en la tabla 2. Para poder hacer-
lo tenéis que, todavía en el modo
SCREEN 1, desplazar la tabla 7
completa hacia alguna zona que
sea de memoria libre en ambos
modos, como la zona comprendi-
da entre los octetos 4096 y 61 43, o
como la inmensa zona que va
desde el 8224 al 14335. Una vez
desplazada, se ejecuta la orden
"SCREEN 0" y entonces los datos
de la tabla 7 han dq,ser «redespla-
zados» a la tabla 2, y allí podrán
MSX 27
el mejor sof twa
DE CARgA
DROME
Entretanto en DROME, un Super-ordenador, debes encontrar y elimi-
nar los sofisticados sistemas de defensa y supervivencia.
Has de elegir uno de bs cuatro sectores que constituyen los mecanis-
mos de defensa de esta terrorífica máquina.
Un atractivo juego de acción, donde se pone a prueba la capacidad
de la máquina y del jugador.
Precio de venta 2.600 ptas. (IVA incluido)
FLIGHT DECK
Sienta la emoción del golfo de Sidra en casa.
FLIGHT DECK es un juego de estrategia y habilidiad en el que tendrás
que desmantelar las bases enemigas.
Al mando de un portaaviones donde dispones de 1 0 unidades de
combate... y poco tiempo.
Precio de venta 2.600 ptas. (IVA incluido)
ESTOS
PRO<
MC-ATTACK
Ayuda a Fredy, el Rey de b Hamburguesa a preparar el suculento man-
jar que hace las delicias de bs comensales.
Ten cuidado con bs salchichas grasientas y los huevos escurridizos que
intentarán arruinar tu exquisito pbto.
Defínete con la pimienta y procura hacer el mejor número de hambur-
guesas posible.
... Buen provecho.
Precio de venta 1 .900 ptas. (IVA incluido)
re para r~rl
COflFUSED?
EL PUZZLE ELECTRONICO
mmmmx
infoúis.s.a.
CONFUSED?
Es el puzzle electrónico.
El objeto del juego es resolver 1 0 puzzles con distinto número de pie-
zas, a elegir, pero todas... MOVIENDOSE.
Pon a prueba tu inteligencia y capacidad de deducción para solucio-
nar algunos de estos entretenidos rompecabezas.
Precio de venia 2.600 ptas. (IVA incluido)
NORTH SEA HELICOPTER
Una explosión en una plataforma en el mar del Norte arroja a bs
hombres a un destino incierto...
Empieza una carrera contrareloj para salvarles de su fatal situación.
Tienes que convertirte en un piloto experimentado para mantener el
control del helicóptero... El tiempo empeora.
¿Crees que cumplirás la misión?
Precio de venta 2.600 ptas. (IVA incluido)
SPACE RESCUE
Desciende de tu nave nodriza a la
superficie lunar e intenta rescatar a los
hombres extraviados.
Ojo con los meteoritos que te destrui-
rán cuando intentes regresar.
Disponer de nuevas plataformas pa-
ra culminar con éxito la misión.
Desgraciadamente tu nave nodriza
está bloqueada por unidades de com-
bate enemigas... Intenta destruirlas.
Precio de venta 2.600 ptas. (IVA
incluido)
MSX 64K - CASSETTE
MANUAL EN CASTRLANO
Solicita tu programa favorito en tu tienda especializada habitual o recorta y envía
este cupón a INFODIS. S. A.. c/Bravo Murillo, 377. 5 ° A - 28020 MADRID.
NOMBRE
DIRECCION _
POBLACION
PROVINCIA _
C P
Forma de pago: CHEQUE 11 CONTRAREEMBOLSO □
TARJETA DE CREDITO American Express □ VISA n INTERBANK □
Numero de m, tarjeta rTTTITTf TTTTTT TTT I 1 T ]
CADUCIDAD
Firma
TITULO
CANTIDAD
TITULO
CANTIDAD
DROME
FLIGH DECK
MC-ATTACK
CONFUSED?
NORTH SEA
HELICOPTER
SPACE RESCUE
I
I
I
I
I
I
I
I
I
I
La pantalla
salir vuestros carácteres a la pan-
talla.
Algo parecido sucede con las fi-
guras móviles, cuyos patrones se
mantienen en la memoria en cual-'
quier modo SCREEN, pero que al
cambiar de modo de pantalla son
pintadas fuera de la zona visible.
Si desplazáis la tabla 8 (o la 1 3 ó la
18) a la zona comprendida entre
los octetos 7040 y 7167, zona que
pertenece a la memoria libre en
todos los sistemas de almacena-
miento de los cuatro modos
SCREEN, y a continuación «redes-
plazáis» esta tabla a su posición
inicial en otro modo de pantalla,
los datos de la posición de las fi-
guras móviles en la pantalla se
conservarán en la transición de un
modo a otro. Esto os servirá para
cambiar libremente de un modo
de pantalla a otro sin tener que
cambiar para nada (ni en color, ni
en patrón, ni en posición) las figu-
ras móviles que estéis usando.
Otra de las aplicaciones de la
memoria de vídeo libre tiene que
ver con la otra memoria, la memo-
ria que vosotros utilizáis al progra-
mar, al apretar una tecla, al volver
de una subrutina, etc.. Esa memo-
ria ha sido tratada ya en bastantes
ocasiones por MSX Magazine, y ya
sabréis mucho de ella. Sólo os re-
cordaremos que contiene la ROM
y alberga también la RAM, y que
en esta última se almacenan vues-
tros programas en BASIC.
Si vuestro ordenador MSX es de
los llamados «pequeños», y al en-'
chufarlo sale en la pantalla el men-
saje "12431 bytesfree", que signi-
fica "12431 octetos disponibles"
(refiriéndose, por supuesto, a la
RAM, no a la memoria de vídeo,
que tiene 16384 octetos en todos
los modelos MSX) entonces la
aplicación de la memoria libre que
a continuación explicamos no
puede realizarse en vuestro or-
dendaor. Si vuestro ordenador es,
sin embargo, de los de "2881 5 by-
tes free", entonces sí podéis efec-
tuarla.
La aplicación consiste en alma-
cenar en la RAM los datos de la
memoria de vídeo que queramos.
Tomemos por ejemplo el caso del
modo SCREEN 2, cuyos datos son
muy difíciles de trasladar debido a
la escasa memoria libre que po-
see este modo de pantalla.
Imaginaos que en el juego que
estáis programando se define un
dibujo de buena calidad en el mo-
do SCREEN 2, y que en medio del
juego queréis pasar a SCREEN 0
para escribir en la pantalla un
mensaje con texto, y después
queréis volver al mismo dibujo en
el modo SCREEN 2. Sería dema-
siado largo tener que volver a di-
bujarlo, sobre todo si se utilizan
para su diseño muchas funciones
gráficas, como CIRCLE, UNE,
DRAW, etc.. Sin embargo, si tras-
ladáis de lo que sea al observador
con la pantalla en el modo
SCREEN 0, y a continuación pa-
sáis a SCREEN 2 y tomáis de nue-
vo en la memoria de vídeo los da-
tos que habíais dejado en la RAM,
volveréis al mismo dibujo de la
pantalla que teníais previamente.
Lo principalmente de este movi-
miento de bloques de datos entre
las memorias es saber de qué par-
te de la memoria de vídeo a qué
parte de la RAM se trasladan estos
datos, y lo mismo se nos plantea
en sentido inverso. En este caso
vamos a trasladar todos los datos
de la memoria de vídeo, los 1 6384
octetos, que es lo máximo que po-
déis trasladar, a la memoria RAM.
Como ya sabréis, la memoria prin-
cipal tiene 65536 octetos, nume-
rados del 0 al 65535. El bloque del
30 MSX
O 32767 es la ROM, la memoria
inalterable destinada a la lectura, y
a partir del 32768 comienza la
RAM. A partir de este octeto se al-
macena nuestro programa en BA-
SIC (únicamente en el caso al que
nos referimos, es decir, si vuestro
ordenador MSX es de los de
"28815 bytes free") y a partir de
ahí podéis tomar cualquier bloque
de octetos del final de la RAM,
al principio, pues destruiríais total
o parcialmente vuestro programa
en BASIC. Si el bloque de datos a
trasladar es muy grande, como en
este caso (16384 octetos es un
gran bloque) es necesario reser-
var una gran cantidad de memoria
(otros 1 6384 octetos) en la RAM.
Si empleáis los octetos que hay
desde el 44000 al 60383, podréis
almacenar vuestras pantallas, al
pues los últimos tres o cuatro mil
octetos están destinados a otras;
funciones, cuyo nombre general
es «sistema operativo». Tampoco
os conviene tomar octetos de muy
tiempo que dejáis más de once
mil octetos (desde el 32768 al
43999) para vuestros programas
en BASIC. Este traslado de datos
puede hacerse de una forma muy
simple con un bucle FOR-NEXT
para almacenar los datos, y otro
bucle para retornarlos. (Te recor-
damos que en la memoria princi-
pal las órdenes VPOKEy VPEEK no
se pueden utilizar, se utilizan las
órdenes POKE y VPEEK). Pero los
dos bucles, tanto el almacena 1
miento como él retorno de los da-
tos en BASIC es verdaderamente
lento, y sólo merece la pena em-
plear esta aplicación en el caso de
que la pantalla que vayáis a alma-
cenar sea muy complicada, y su
trazado desde BASIC exija mu-
chas órdenes gráficas.
Si sabéis Código Máquina, el
traslado de los bloques de datos
acudiendo al BIOS (Basic Input/
Output System = Sistema Básico
de Entrada/Salida) con nemónico
CALL dirigido al código 0059H pa-
ra trasladar datos de la memoria
de vídeo a la RAM y el código
005CH para la operación inversa,
es decir, trasladar datos de la RAM
a la memoria de vídeo.
Si no sabéis Código Máquina
no os preocupéis, pues analizare-
mos más profundamente en pró-
ximos números cómo desenvol-
verse en la memoria de vídeo des-
de el Código Máquina.
Tras explicaros el funciona-
miento de todas las tablas y los
procesos de transición entre los
modos de pantalla, ya tenéis co-
nocimientos suficientes como pa-
ra aplicar en vuestros programas
todos los trucos que se os ocurran
basados en esta parte tan impor-
tante de vuestro ordenador.
Pero podéis aprender más
de la memoria de vídeo de indu-
dable utilidad: en el próximo nú-
mero nos ocuparemos de los re-
gistros VDP y de sus aplicaciones
para el programador.
José M. Cavanillas
MSX 31
SONY
F500P
i
CAfrrptDCt
•
1
-
2L
os ordenadores de la se-
gunda generación están
empezando su andadura
en el mercado español. La com-
petencia es dura y diversa. En este
aspecto nos encontramos con el
Sony HB-500P, que viene a com-
petir directamente con el Philips
VG-8235.
Varias son las características
que hacen resaltar a este modelo
del resto de los ordenadores de la
gama. Su presentación unida a
una solidez, a la que estamos po-
co acostumbrados, lo resaltan
bastante. Sin embargo, existen
cualidades dignas a tener en
cuenta, entra otras, su teclado in-
dependiente.
Este, con un conjunto de teclas
numéricas separado del teclado
principal, le dan aspecto más semi
profesional, lo que posibilita la en-
trada de datos numéricos con
mayor rapidez. El tacto es muy
bueno y la disposición de las te-
clas resulta ideal, al igual que el
ángulo de inclinación del teclado,
que se consigue gracias a dos pe-
queñas patas plegables.
La conexión al cuerpo principal
del ordenador se hace a través de
un cable de algo más de un metro.
Esto es importante, ya que se pue-
de tener el ordenador a una dis-
tancia cómoda, lo que ahorra es-
pacio sobre todo en mesas con
mucho trabajo.
Por otro lado, tenemos lo que es-
el ordenador es sí, donde pode-
mos resaltar la unidad de discos
de 3.5 pulgadas capaz de forma-
tear a simple y doble cara, lo que
permite acceder a 360 o 720K de
información. Sin lugar a dudas, es-
32 MSX
ta cualidad, unida a que posee
disco RAM de 32K, 256 colores de
una paleta de 512, reloj, superpo-
sición de vídeo y todas esas ca-
Y
racterísticas de los ordenadores
de la 2. a Generación, le confieren
en el modelo más completo del
mercado. Todo esto se encuentra
a buen recaudo, dentro de una
carcasa similar a la del IBM PC, es
más, cuando se ve por vez prime-
ra, da la sensación de estar delan-
te del hermano pequeño de un
PC. Aquí encontraremos todos los
conectores que posee el estándar.
Dos port de cartuchos y la unidad
de disco, se encuentran en la par-
te anterior de la carcasa muy ac-
cesible al usuario, que agradecerá
esta posibilidad. Además de esto,
encontrará dos ports para joys-
ticks y un reset, todo a mano. En la
parte posterior de la carcasa, en-
contrará el interface Centronics,
conectores para monitor RGB, au-
dio/vídeo y para el cassette. Tam-
bién es de destacar un tercer bus
de expansión para cartuchos
ROM y un conector adicional para
otra unidad de discos.
Aún queda por comprobar una
cualidad común a todos los orde-
nadores MSX: la compatibilidad.
De hecho, a este apartado habría
que dedicarle algo más de tinta y
tiempo, que no hemos podido en
esta ocasión.
En suma, es un conjunto muy
completo, al que no le falta de na-
II I' ir I )
Foto 1: Vista posterior del ordenador, donde podemos apreciar el bus de
expansión, conector para unidad de disco y ports video y cassette.
da. Quizás sea demasiado para el
usuario medio, pero lo que está
claro es que el equipo se presenta
como la más completa versión de
un ordenador de la 2. a Genera-
ción. Sin embargo, no todo va a
ser bueno. El precio es su principal
enemigo, puesto que al rondar
una cifra de 140.000 ptas. no to-
dos van a estar dispuestos a de-
sembolsarla. Insistimos en que el
equipo es completo, los manuales
son buenos y que, además viene
con un disco del sistema operativo
MSX-DOS. Pero aún así, creemos
que es demasiado aquilatado, te-
niendo en cuenta que se trata de
una máquina con tecnología anti-
gua (se mantiene el Z-80), aunque
aprovechada al máximo.
Foto 2: El teclado independíente es una de las grandes características de este
potente modelo.
MSX 33
Simón
LHUste juego consiste en. la
| fu O repetición de una serie de
\ 'sonidos generados al azar
por nuestro ordenador. Los soni-
dos posibles son cuatro, con una
representación igráfica en 1 la pan-
talla de nuestros aparatos. Con
cada nota, un sector diferente de
los cuatro representados cambia
de color. Estos colores han sido
escogidos para jugar con una TV
en color; si se juega en un aparato
monocromático posiblemente ha-
brá que modificar algún valor de la
tabla de colores. Los colores están
contenidos en las matrices unidi-
mensionales c1(n), correspon-
diente a los colores sin sonido, y
en la tabla c2(n), contiene los colo-
res correspondientes a los soni-
dos. El elemento 1 corresponde al
sprite 2 y 3, el elemento 2 al sprite
6 y 7, el elemento 3 al sprite 4 y 5, y
el elemento 4 al sprite 0 y 1.
Las variables más importantes
son las matrices de este progra-
ma; aparte de las matrices de co-
lores, las otras matrices son:
- A(n), contiene la secuencia
de sonidos a repetir. Inicialmente
tiene 100 elementos, pero no hay
inconveniente para aumentar la
dimensión de esta matriz.
- NM$(n), contiene el nombre
de los que han conseguido un ré-
cord.
- RE(n), contiene las puntua-
ciones récord.
El programa en sí no contiene
ninguna gran complejidad estruc-
tural, y cada rutina tiene un REM
que indica su función. Una posible
mejora de este juego consiste en
la optimización de su velocidad,
para conseguir un desarrollo del
juego más veloz, aunque conside-
ro que la dificultad en esta versión
es suficiente.
El programa emplea las teclas
de cursor, pero si se desea em-
plear un joystick no hay más que
sustituir el 0 de la línea 260 por el
número 1 ó 2, según donde esté,
conectado el mando de juegos.
Por último, añadir que el progra-
ma consta de un temporizador
| que ocasiona que sólo se dispon-
gan de 10 segundos para pulsar
la tecla correspondiente al sonido
en cada ocasión. Si se sobrepasa
ese tiempo, se habrá perdido la
partida.
Diego Soriano
Madrid
10 CLS
30 KEY OFF
40 CLEAR 1000
50 RA=RND (-TIME)
60 DIM A(100)
70 Cl (1>=6:C1 (2)=14:C1 <3)=4:C1 (
4>=12
80 C2 < 1 ) =9 :C2 (2) =1 1 :C2 (3) =5 :C2 (
4) =3
90 FÜR P=l Tü 5:RE(P)=240-P*40:
NEXT P
100 GÜSUB 450
110 REM *** LAZO PRINCIPAL ****
120 FÜR N=l TD 100
130 A(N)=INT(RND<4) *4)+l
140 NEXT N
150 L=l
160 FÜR F-l Tü L
LOS JUEGOS ELECTRONICOS
34 MSX
PREMIO DE 7000 PTS
170
180
190
200
210
220
230
240
250
260
270
280
290
300
310
320
330
340
350
360
370
380
390
400
410
420
430
440
450
460
470
480
490
500
510
520
530
540
A*=CHR*<67+A(P) )
C(A(P> >=C2(A(P) > :GOSUB 1380
:FOR Tfl TO 200.-NEXT T:C(A
(P) )=C1 (A(P) ) íBOSUB 1380
PLAY "V6L4T250Ü4S1 1M12000XA
FÜR T*l TO 100*DI:NEXT T
NEXT P
PRINT
LOCATE 8,21 : PRINT "TU TURNO"
FOR P=l TO L
TIME=0
IF STICK(0)=0 THEN Z=0 ELS
E GOTO 260
IF TIME=500 THEN GOSUB 1230
IF Z=0 THEN Z=STICK(0) ELSE
GOTO 280
IF Z=0 THEM 270
A2=INT(Z/2)+l
A2t=CHR* (67+A2)
PLAY "V6L4t250O4Sl 1M12000XA
2* ; "
C ( A2 ) =02 ( A2 ) : GOSUB 1 380 : FOR
T=l TO 150:NEXT T:C(A2)=C
1 (A2) : GOSUB 1380
IF A20ACP) THEN GOTO 430
PU=PU+1 : LOCATE 8,19:PRINT"P
UNTU ACION" ; : PRINT USING "#
##" ;PU;
IF INT<PU/15)=PU/15 AND Dt>
.5THEN DI=DI- .25
NEXT P
PRINT
LOCATE 8,21:PRINT" ESCUCHA
II
FOR T=l TO 150:NEXT T
L=L+1
GOTO 160
GOSUB 1230
END
' ***** PRESENTACION ******
***
COLOR 10,4,12
SCREEN 2,3
GOSUB 1130
X0=30:Y0=50
X 1=30: Y 1=82
X2=10B:Y2=0
X3=130 s Y3=0
X4=108:Y4=132
X5=130 :Y5=132
550
560
570
580
590
600
610
620
630
640
650
660
670
680
690
700
710
720
730
740
750
760
770
X6=208:Y6=50
X7=208 : Y.7=82
GOSUB 1860::SOUND
6,5:S0UND
780
790
800
810
820
830
840
850
7,6:S0UND 1,120:SOUND 8,1
6 :SOUND
OUND 12,120:SOUND
FOR T=l TO 30
X0=X0+2
Xl=Xl+2
Y2=Y2+1
Y3=Y3+1
Y4=Y4-1
Y 5= Y 5-1
X6=X6-2
X7=X7-2
FOR
PUT
PUT
PUT
PUT
PUT
9,16:S0UND 10,16:S
13,4
PUT
PUT
PUT
NEX -
P=l TO
SPRITE
SPRITE
SPRITE
SPRITE
SPRITE
SPRITE
SPRITE
SPRITE
T
TO
35:NEXTP
0, (X0,Y0) ,9
(XI ,Y1 ) ,9
(X2,Y2) ,11
(X3,Y3) ,11
(X4,Y4) ,5
5; (X5,Y5) ,5
6, (X6,Y6) ,3
7, (X7,Y7) ,3
1 ,
* i
3,
4,
4:C(I)=15:NEXT I
FOR 1=1
:GOSUB 1380:SOUND 6,13:S0U
ND 1,200:SOUND 3., 150:SOUND
7,0:SOUND 8,16:S0UND 9,16
:SOUND 10,16:SOUND 12,30:S
OUND 13,9:
C(4)=9:C(1)=11 :C(3)=5:C(2)=
3:FOR 1=1 TO 30:NEXT I :GOS
UB 1380 :FOR T=l TO 4:C(T) =
C1(T):NEXT T.-FOR 1= 1 TO 1
00:NEXT I :GOSUB 1860
GOSUB 1800
DRAW "S9BM30,150R16G4L5F9D2
L16E4R5H9U2"
DRAW " BM+ 1 9 , +0R 1 2G4D7F4L 1 2E
4U7H4"
DRAW " BM+ 1 5 , +0R4F5E5R4D 1 5H4
U6G5H5D6G4U15"
DRAW "BM+25,+0R9F4D7G4L9H4U
7E4":DRAW "BM+3 ,+3R3F4DlG4
L3H4U 1 E4 " : DRAW " BIÍ+ 1 3 , -3R4
F8U5E4D 1 5L4H8D5G4U 1 5 "
GOSUB 1 800 : PLAY " 04L4F " " 02
L4F" , "06L4F"
FOR T=l TO 2700: NEXT T
860 SCREEN 0 :CDLDR 1,3:WIDTH 35
87IZI PRINT" - INSTRUCCI
ÜNES -" : PRINT : PRINT " ES
TE JUEGO CONSISTE EN REPET
IR LA SECUENCIA DE COLOR-
ES Y SONIDOS PRODUCIDOS P
OR LA MAQUINA . "
88IZI PRINT " PARA INTRODUCIRLO
S SE UTILIZAN LAS TECLAS
DE CURSOR."
890 PRINT " SI LA SECUENCIA E
S REPETIDA INCORRECTA
MENTE, SE TERMINA LA P
ARTIDA . "
9(80 PRINT" EL GRADO DE DIFICU
LTAD DETERMINA EL TIEMPO E
NTRE CADA NOTA."
910 LOCATE 6,17: PR I NT " ¿GRAEiQ DE
DIFICULTAD ti a 31?" :LOCA
TE 7,-18:PRINT "(1-rapido
3- lento) "
920 DléplNKEY*
930 IF DI*="" THEN 920
940 D I =V AL < D I * ) : I F DI >3 OR D I < 1
THEN 920
950 Di =01
960 POR T=l TO 4:C(T)=C1 <T) :NEX
T TíBOSUB 1350
970 RETURN
980 DATA 0,1,3,7,15,15,31,31,63
,63,127,127,1 27 , 255 , 255 , 25
5 , 1 28 , 1 92 , 224 ,240 , 248 , 252 ,
254 , 255 , 254 , 252 , 248 , 240 , 24
0,240,224,224
990 ' ESPRITE 1
1000 DATA 255,255,255,127,127,1
27,63,63,31 ,81 ,15,15,7,3,1
,0 ,224 ,224 ,240 ,240 ,240 ,248
, 248 , 254 , 255 , 254 , 252 , 248 , 2
40,224,192,128
1010 * SF'R I TE 2
1020 DATA 0,0,0,3,15,31,63,127,
255,127,63,31 ,15,7,3,1 ,7,6
1070
1080
3 0"=¡i=¡ Oc;c¡ ncc ncrcr
Ocrcr 0«=¡c=; *?S?5 9=19
8,0'
255,255,
52,224,192,1!
1030 ' SPRITE 3
1040 DATA 224,252,255,255,255,2
55 , 255 , 255 , 255 , 255 , 255 , 63 ,
7,3,1 ,0,0,0,0,192,240,248,
252 ,255 ,255 ,254 ,252 ,248 ,24
0,224,192,128
11850 ' SPRITE 4
1060 DATA 1,3,7,15,31,63,127,25
LOS JUEGOS ELECTRONICO
36 MSX
1090
1 100
1110
1120
1 130
1 140
1150
1160
1170
1 180
1 190
1200
1210
1220
1230
1240
1250
1260
1270
1280
1290
1300
1310
1320
1330
5,127,63,31 ,15,3,0,0,0,0,1
28 , 1 92 , 224 , 252 , 255 , 255 , 255
, 255 , 255 , 255 , 255 , 255 , 255 , 6
3,7
SPRITE 5
DATA 0,1,3,7,63,255,255,25
5 ,255 ,255 ,255 ,255 ,255 ,255 ,
252 , 224 , 1 28 , 1 92 , 224 , 240 , 24
8 , 252 , 254 , 255 , 254 , 252 , 248 ,
240,192,0,0,0
SPRITE 6
DATA 1,3,7,15,31,63,127,25
5,127,63,31 ,15,15,15,7,7,0
,128 , 192 ,224 ,240 ,240 ,248 ,2
48 ,252 ,252 ,254 ,254 ,254 ,'255
,255 ,255
SPRITE 7
DATA 7,7,15,15,15,31,63,12
7, 255, 127., 63, 31 ,15,7,3,1 ,2
55 , 255 , 255 , 254 , 254 , 254 , 252
,252 ,248 ,248 ,240 ,240 ,224 , 1
92,128,0
FOR P=0 TO 7 :P*="" :FOR T=l
TO 32
REM *** TRAT. SPRITES ***
READ SP
P$=P#+CHR* (SP)
NEXT T
SPRITE* <P)=P*
PR I NT
NEXT P
RESTORE
RETURN
CLSrPUT SPRITE 0, (0,208) :L
OCATE 8,19:PRINT " HAS FAL
LADO
REM *** SI SE FALLA: ***
PRINT "TU PUNTUACION ES" jP
Uf " PUNTOS"
GOSUB 1480
FOR T=l TO 1700:NEXT T
COLOR 10,1 ,4
PRINT" JUEGAS OTRA VEZ CS/
N} " ;
J**INPUT$U)
IF J$="N" OR J$="n" THEN C
LS:PUT SPRITE 0,(0,208):LO
CATE 7,10:PRINT:PRINT" ¡ HA
STA OTRA ! " :END
IF J$="S" OR J$="s" THEN C
LSrGOSUB 1710 :TIME=<9 :DI=D1
:PU=0:GOTO 120
GOTO 1300
1
EN CASTELLANO
EL SEMANARIO PROFESIONAL
POR EXCELENCIA
- ;
LA DE MAYOR WRJSJON
PARA ORDENADORES
COMMODORE
publhformáticq s/a iz M
*• Teis (93) 318
unllo 377 28020 MADRID Th (91 i 733 74 13
12 08001 BARCELONA
I 318 02 89 . • i 101 17 PO f ■ ! j; 2H
lí i y i ]
i ■ ■
1 1 1 L
i -M
i
¡i ■ ' j
IMAGAZINE
IDICION INCAS Mil ANO
LA PRIMERA REVISTA EN
CASTELLANO PARA 18M PC
Y COMPATIBLES
*^M_ti)ihi__
13413 REM *** CAMBIO COLOR SPRIT
ES **
1358 COLOR 10,1 ,4
1360 SCREEN 1 ,3
1370 GOSUB U30:GOSUB 1710
1380 PUT SPRITE 0 , (87 ,50) , C (4) f
0
PUT SPRITE 1 , (87,82) ,C<4) ,
1390
1400
1410
1420
1430
1440
1450
1460
1470
1480
1490
1500
1510
1520
1530
1540
1550
1560
1570
1580
1590
1600
1610
1620
1
PUT SPRITE 2, (105,30) ,C(1)
1 *
PUT SPRITE 3, (127,30) ,C(1)
,3
PUT SPRITE 4, (105,102) ,C (3
> ,4
PUT SPRITE 5, (127,102) ,C( 3
) ,5
PUT SPRITE 6, (145,50) ,C(2)
,6
PUT SPRITE 7, (145,82) ,C(2)
,7
RETURN
REM *** RECORDS ***
BA=0:FOR T=5 TO 1 STEP -1
IF PU>RE(T) THEN BA=T
NEXT T
IF BA=0 THEN GOSUB 1820 :R
ETURN
PUT SPRITE 0 , (40 ,208) : LOCA
TE 8,21:PRINT STRING*<10,3
2)
LOCATE 3,5: PR I NT " ¡ HAS BATI
DO UN RECORD !" : GOSUB 1840:
FOR P=i TO 15:C0L0R 15,1,P
:FÜR T=l TO 200:NEXT T : NE X
T P
COLOR 2,1,10
LOCATE 6,7:DEF USR=342:JK=
USR(2) :LINE I NPUT " ¿NOMBRE?
" ;NM* :CLS
NM* ( B A ) =NM* : RE ( B A ) =PU
PR I NT : PR I NT " 000000 0000000
QOQüQ 0 000000000 ' '
FOR F-l TO 19
IF P/2=INT(P/2) THEN A*="
B" ELSE A*="©"
LOCATE 0,P:PRINT A*: LOCATE
31 ,P:PRINT A*;
NEXT P
PRINT " M^i^BOOOO OO OOOOfriOli
1640 LOCATE 10, 4: PRINT " "¿"¿Féf
II
1650 FOR P=l TO 5
1660 LOCATE 6 ,5+2*P : PRINT NMt(P
) :LOCATE 20 ,5+2* R s PRINT US
ING"####" ;RE(P)
1670 NEXT P
1680 LOCATE 3,18
1690 RETURN
1700 REM *** TABLERO ***
1710 LOCATE 8,3:PRINT "i
1720 FOR P=l TO 13
1 730 LOCATE 8 , 3+P : PR I NT | \\V//aV
MMM//I "
1740 NEXT P.
1750 LOCATE 8,17:PRINT'"
i
1.760 LOCATE 9,4:PRINT "#":L0CA
TE 19,4:PRINT "*":LOCATE
9,16:PRINT "#":LOCATE 19,
16:PRINT "#"
RETURN
END
REM *** MUSIQUILLA ***
1770
1780
1790
1800
1810
1820
1830
1840
1850
1860
PLAY "V10S0M14000T250L4FO5
C#C04G#05FC#C04L8G#F. .L4D#
05C04A#G05D#C04A#L86D# . . " ,
" V 1 5S0M 1 4000T250L4O2FO3C#C
02G#03FC#C02L8G#F . .L4D#03C
02A#G03D#C02A#L8GD# . . " , "VI
2S0M 1 4000T250L4O6FO7C#CO6G
#07FC#C06L8G#F . .L4D#07C06A
#G07D#C06A#L8GD# . . "
RETURN
PLAY "V1304T1 10L4GL8ABBO5C
D . L 1 6CL804B05DC04BAL4GT 1 00
L804DC03BAL4G . "
RETURN
PLAY "VI 5T80O6L6FL24GAGFEL
1 0DL6O7DL 1 6C06AA#AGFL8GR8L
6FL24GAGFEL 1 0DO7L6DL 1 6C06A
A#AGFF" ,"V14T8204L6FL24GAG
FEL 1 0DL6O5DL 1 6C04AA#AGFL8G
R8L604FL24GAGFEL 1 0DO5L6DL 1
6C04AA#AGFF"
RETURN
1630 LOCATE 10 ,3 : PRINT" RECORDS"
FOR 1=1 TO 13:S0UND I,0:NE
XT I :SOUND 7,184
1870 RETURN
261554046
D£ cu
)0
aU 554046
PARTICII
NUESTRO
CONCURSO
M SX Magazine premiará cada mes los
programas que nos hagan llegar nuestros
lectores.
Para participar en este concurso
abierto, todo aficionado a los ordenado
con este estándar deberá hacer llegar
redacción de la revista el listado, un
cassette y un texto explicativo
\ v
7
L-ntre todos los programas que
recibamos cada mes, serán selecc^re^adasT
para su publicación aquellos que r^únaujfc
los siguientes criterios: /
— Originalidad de la aplicación/
— Simplicidad del método de
programación.
La única condición para participar en
el concurso será que los prográmaselo
hayan sido publicados previamente erN
ninguna revista.
1%
A
/
/
7
ll nviar vuestros programas a: MSX Magazii)
C/Bravo Murillo, 377 - 5.° A 28020 MADRID
¿)
Diagramas
de flujo
A medida que vas avanzando en el conocimiento
de BASIC, tus programas se van haciendo cada
vez más complejos; llenos de instrucciones,
sentencias y bifurcaciones. Por ello se hace muy
útil el uso de DIAGRAMAS DE FLUJO (también
llamados ORGANIGRAMAS).
V — X es
diagrama de flujo no es
más que un boceto de la
estructura del programa
que nos sirve tanto para preparar-
lo como para recordar al cabo del
tiempo cómo ha sido realizado.
Personalmente, creo que no es
necesario realizar los programas
de flujo con excesivo detalle, basta
con que una simple ojeada al dia-
grama permita conocer las ideas
principales del programa.
Para hacer más comprensible y
sencillo un diagrama de flujo utiliza-
mos CAJAS con significados par-
ticulares, y dentro de ellas indica-
mos las variables implícitas, y en
su caso, las operaciones a reali-
zar.
De momento vamos a conocer
sólo algunas de esas cajas, que
nos permitirán desarrollar nues-
tros próximos programas. A medi-
da que vayamos avanzando, ire-
mos introduciendo las cajas que
necesitemos.
40 MSX
•CD
Se utiliza para indicar el co-
mienzo o final de un programa.
Dentro pondremos E (Empezar) o
FIN según sea principio o final.
Sirve para indicar que se han de
introducir datos en el ordenador.
Dentro de este símbolo indicare-
mos los nombres de las variables.
El rectángulo indica que se va a
realizar una operación o cálculo.
Dentro de esta caja se indica la
operación u operaciones a reali-
zar.
El rombo significa toma de deci-
sión. Según sea cierta o no la
comparación que se ha escrito en
su interior, el programa continuará
por uno y otro vértice del mismo.
Significa presentar un resulta-
do. Lo utilizaremos indistintamente
para que ese resultado se presen-
te por pantalla, impresora, cinta
magnética o disco.
Recordemos el programa del
artículo del mes pasado; con él
calculábamos las raíces de una
ecuación de segundo grado. En la
figura 6(a) tienes el diagrama de
flujo correspondiente. El diagrama
de la figura 6(b) es algo más sim-
ple y menos detallado que el de la
figura 6(a).
Existen otros símbolos para ex-
presar las mismas operaciones,
pero, tratándose de un elemento
auxiliar, creo que lo más útil es que
utilices el menor número posible
de ellos. Lo importante de un dia-
grama de flujo es que puedas re-
conocerlo (y puedan otros reco-
nocerlo) al cabo de algún tiempo.
FOR...TO...STEP...NEXT
Supongamos que queremos
calcular el cuadrado, el cubo, la
raíz cuadrada y la raíz cúbica de
los números comprendidos entre
1 y N. Con tos conocimientos que
MSX 41
basic
DIMENSIONAR
NBSÍIOO.DISÍJOO),
TE! (100)
1 =
0
}
►
\
1 =
1+ 1
NOMBRE (NB$(I))
DIRECCION (DIS(I))
TELEFONO(TEKD)
¿OTRO NUMERO? /
AS
SI
NOMBRE (NBS(II))
DIRECCION :(DIS(II))
TELEFONO(TE!(II))
NO .
II = 1,1
7
Diagrama 1
cuando trabajemos con variables
con subíndice se lo indiquemos, y
además que le digamos el tamaño
de dicha variable, es decir, cuál es
el valor máximo que va a tomar el
subíndice. Esto lo hacemos por
medio de la sentencia DIM (DI-
MENSION) de la siguiente forma:
DIM A/6$(100)
De esta forma le decimos al or-
denador que la variable NB es de
caracteres y que va a contener
1 00 variables. Es decir, en nuestro
ejemplo vamos a hacer un listín te-
lefónico en que utilizaremos la va-
riable alfanumérica con subíndice
NB que contendrá el nombre de
hasta 100 personas.
Como vamos a almacenar en el
ordenador, además del nombre, la
dirección y el número de teléfono
definiremos otras dos variables,
que llamaremos DI y TE, y por tan-
to al dimensionarlas escribire-
mos:
DIM NB$(Í00), Dl$(100), TE!(100)
(Recuerda que un número ente-
42 MSX
ro no tiene más de 5 cifras. Por eso
hemos hecho la variable TE de
simple precisión).
Fíjale ahora en el programa 1
(cuyo diagrama de flujo es el dia-
grama 1). Conocemos ya casi to-
do lo que ahí se dice. Sin embar-
go, no conocemos la instrucción
de la línea 40:
40 CLEAR 20000
Cuando conectamos el ordena-
dor, éste reserva automáticamen-
te 200 octetos para variables alfa-
numéricas. Por tanto, sólo podre-
mos tomar ese tipo de variable
con una longitud máxima de 200
caracteres. Si tratas de hacer, por
ejemplo que la variable A$ valga:
A$= «En un lugar de la Mancha,
de cuyo nombre no quiero acor-
darme, no ha mucho tiempo que
vivía un hidalgo de los de lanza en
astillero, adarga antigua, rocín fla-
co y galgo corredor. Una olla de al-
go más vaca que carnero, salpi-
cón las más noches duelos y que-
brantos»,
DIMENSKDNAR A$(IOO,2)
B$(0)-=" NOMBRE"
BS(I) = " DIRECCION"
BS (2)- "TELEFONO"
I = O
1= 1+ I
/ AS (1,11) /
\ 11 s °' 2 /
/(¿OTRO NUMERO?)/
L Jjü I
y
/ (NOMBRE) 7
/ N BS /
BS (1 2)
AS(II,1 2)
\l2: 0,2 y /
Diagrama 2
MSX 43
basic
10
20
30
40
50
60
70
80
INPUT N
FOR 1=2 TO N STEP 2
FOR J=1 TO 5
T "; J;
PRINT I; '
NEXT J
PRINT
NEXT I
END
FIGURA 9b
; IT J
Si el valor P especificado en
STEP P es 1 , se puede omitir y es-
cribir:
10FORI = A1 TO A2
100 NEXT I
A1 , A2 y P pueden ser constan-
tes o variables, y pueden ser ente-
ros o reales, positivos o negativos.
Así, se puede encribir:
10 FOR l=A TO A*A STEP
SQR(A)
Sí, por ejemplo, escribimos:
10 FOR I = 1 TO -10 STEP 2
I empezará valiendo 1 y con es-
te valor se realizarán los cálculos
situados entre esta línea y NEXT I
El siguiente valor de I es I = 1 + 2 =
3. BASIC comprueba si este nuevo
valor de I está entre 1 y -1 0 (entre
A1 y A2) y, al no ser así, pasa a eje-
cutarla la línea siguiente a NEXT\.
Con esta nueva instrucción,
nuestro programa quedará como
se muestra en la figura 8(b), cuyo
diagrama de flujo es el de la figura
8(a).
Evidentemente esto es más có-
modo que lo que hacíamos antes.
Se utiliza para repetir un trozo
de programa desde que cierta va-
riable (I) tome un determinado va-
lor hasta que alcance otro. Se es-
cribe:
\ ^ l = A1,A2,P I
(FOR I = A1 TO AE STEP P)
Supongamos ahora que, dado
N, queremos hallar las potencias
2, 3, 4 y 5 de los números pares
comprendidos entre 1 y N. BASIC
permite hacer bucles FOR - NEXT
anidados, es decir:
FOR l=A1 TO A2 STEP P
FOR J=B1 TO B2 STEP Q
FOR K=C1 TO C2 STEP R
NEXT K
NEXT J
NEXT I
En BASIC-MSX se pueden ani-
dar tantos bucles FOR-NEXT co-
mo se desee. Lo único que se exi-
ge es que no se solapen unos con
otros. Es decir no es posible hacer
lo siguiente:
FOR NA1 TO A2 STEP P
FOR J=B1 TO B2 STEP Q
NEXT I
NEXT J
Si nos salimos de un bucle
FOR-NEXT, los índices se iniciali-
zan. Es decir, en el caso anterior,
cuando el ordenador se encuen-
tra con NEXTl toma para J el valor
v B1 (y no J + 1).
Por tanto podemos resolver el
problema que nos hemos plan-
teado con el programa de la figura
9(b), según el diagrama de la figu-
!ra 9(a).
J. Antonio Feberero
44 MSX
SERVICIO DE EJEMPLARES ATRASADOS
ESTOS SON LOS EJEMPLARES
DE MSX MAGAZINE
APARECIDOS EN EL MERCADO
CON UN RESUMEN
DE SU CONTENIDO
Núm. 1 •
¿Qué es el MSX 9 Su BA-
SIC, periféricos, progra-
mas, software.
Núm. 2
Generación de sonido.
MSX-DOS. el ordenador
por dentro, programas,
noticias.
Núm. 3
Los joysticks. 256 caracte-
res programables. Z80 co-
razón de león, compro/
vendo/cambio.
Núm. 4
Las comunicaciones entre
ordenadores, la jerga in-
formática, trucos, rincón
del lector
Núm. 5
Comandos de entrada sa-
lida, el BASIC MSX compa-
rado con Spectrum y Com-
modore 64. Código Má-
quina
magníficos
Núm. 6
Los 8 magníficos (test
gigante), el bus de expan-
sión, los misterios de la
grabación, programas
O*
*****
Núm. 7
Analizamos el Generador de
Sonido. Aplicaciones mate-
máticas con el ordenador. La
memoria de video. Trucos, no-
ticias.
Núm. 8
Compact Disc, el periférico
del luturo. Test: Dynadata
DPC-200. Continuamos con
la memoria de video. Libros,
software, programas, trucos.
Núm. 9
Características técnicas del
Compact Disc. Tratamiento de
datos. Test: Quick Disk. Tru-
cos, libros, noticias, progra-
mas.
PARA HACER SU PEDIDO, RELLENE ESTE CUPON, HOY
MISMO Y ENVIELO A MSX MAGAZINE BRAVO MURILLO, 377.
Tel. 733 96 62 - 28020 MADRID
i 1
| Ruego me envíen los siguientes números atrasados |
| al precio de 250 ptas cada uno Cuyo importe abonare |
| □ POR CHEQUE □ CONTRA REEMBOLSO □ CON MI TARJETA DE CREDITO j
□ AMERICAN EXPRESS □ VISA □ INTERBANK
Numero de mi tarjeta
Fecha de caducidad
I
I NOMBRE
| DIRECCION
| POBLACION C |
PROVINCIA
3-D Bola
No hace mucho, aparecieron en
los bares, unas maquinas con jue-
gqs cuyo objetivo era conducir
una bola a lo largo de un laberinto
en tres dimensiones. Este juego
ha servido como inspiración a Al-
berto López, que nos ha enviado
una entretenida versión de ese
juego para los MSX.
Se trata de dirigir la bola por un
laberinto en el que existen subi-
das, bajadas, ascensores, pinchos
mortales y otros objetos, todo ello
representado en tres dimensio-
nes. Si se consigue llegar a la me-
ta (que es un punto) antes de que
se acabe el tiempo, pasaremos a
la pantalla siguiente. El juego
consta de tres pantallas diferentes.
46 MSX
TTtK 7
PREMIO DE 7000 PTS
10 COLOR 15,1 ,1
20 OPEN"GRP :"AS#1
30 SCREEN2,2
40 GOSUBS70
50 SCREEN2
60 FOR G=0 TO 2:PUTSPRITE G,(0,0
) ,0,10
70 PLAY " S 1 M5000O7C64R 1 C64R 1 C64R 1
C64R1C64R1 "
80 PLAY"V15S1M30000O3C1O4" ,"V15S
1M30000Ü6C1O4"
90 PT*1
100 GOSUB 1390
110 GOSUB 1120
120 B=6
130 GOSUB 500
140 X»X1 :Y=Y1 :TN*TM: GOSUB 1070
150 VX=0:VY=0
1 60 A=ST I CK ( 0 ) OR ST I CK ( 1 )
170 VX=VX-(A=--2 OR A«3 OR A=4)+(A
=6 OR A=7 OR A=B)
180 VY=VY-(A4 OR A=5 OR A=6)+(A=
8 OR A=l OR A=2>
190 CR-VPEEK<6144+< (Y+16) \8) *32+
<X+8) \8)
200 ON CR GOTO 210,210,280,280,2
80 , 280 , 280 , 320 , 320 , 360 , 450 ,
730,210,560,210,1080
210 X=X+VX-VY
220 VX=VX\1 :VY=VY\1
230 Y=Y+VY
240 PUTSPRITE ®,<X,Y>,Q,®
250 PUTSPR I TE 1 , ( X , Y ) ,15,1
260 TN=TIM-.SJ4 :IF TN=TNV1 THEN GO
TO 1030
270 GOTO 160
280 VY=VY+.5
290 Y=Y+VY
300 X=X- (VY/2) +VX
310 GOTO 240
320 VX=VX+„5
330 X=X+VX-VY
340 Y=Y+VX+VY
350 GOTO240
360 PLAY"O5S8M1000C4R5C4" ,"07S8M
1000C4R5C4"
370 FORG=l TO 11
380 PUTSPRITE 0,(X,Y),8,2
390 FOR J=l TO 40:NEXT
400 PUTSPRITE 0,(X,Y),8,0
410 FORJ=l TO40:NEXT
420 NEXT
430 FORG=l TO 500:NEXT
440 GOTO 450
450 PUTSPRITE 0, (X, Y) ,8,2
460 PL A Y " V 1 5S 1 M9000O7B 1 04 " , " V 1 SS
1M9000O5G1O4" , "V15S1M9000O8
D 1 04 "
470 F0RG=1 TO800:NEXT
480 GOSUB 500
490 GOTO 140
500 'VIDAS
510 B=B-1
520 F0RG=6144 TO 6150:VPOKF G,10
: NEXT
530 IF B=0 THEN 1630
540 F0RG=6144 TO 6143+B:VP0KE G,
13:NEXT
550 RETURN
560 'PASPANTALLA
570 Z=0:T=0
580 Z=Z+<X-8-Z) /10 :T=T+ ( Y+4-T) /l
0
590 PUTSPRITE 2,(Z,T),11,3
600 IF X-8-Z>2 OR Y+4-T>2THEN ^8
0
610 FORX=X TO X-8 STEP-1
620 FOR G=l TO 20: NEXT
630 PUTSPRITE 0,(X,Y),8,0
640 PUTSPRITE 1 , (X, Y) ,15,1
650 NEXT
660 PLAY"L3V1504CG05CL4" ,"L3Vlí=iO
3CG04CL4" , "L3V1506CG07CL4"
670 FOR Y=Y TO-22 STEP-1
680 PUTSPRITE 1,(X,Y) ,15,1: PUTSP
RITE 0, (X,Y) ,8,0:PUTSPRITE
2, (X ,Y+4) ,11 ,3:NEXT
690 PT=PT+1:IF PT=4 THEN PT=1
700 GOSUB 1390
710 B=B+1
720 GOTO 130
730 ' SALTO
740 PLAY"S1M25000O3C2"
750 PUTSPRITE 2, ( ( (X+8)\8)*8, ( (Y
+16) \8) *8-10) ,15,4
760 FOR VZ=-8 T08 STEP.5
770 X=X+VX/2-VY/2
780 Y=Y+VY/2+VZ/2
MSX 47
790 IF X>240 OR X < -0 DR Y>180 TH 1100
EN 850 1110
800 PUTSPRITE 0,(X,Y,,8,0 1120
810 PUTSPRITE 1,(X,Y),15,1 1130
820 NEXT 1140
830 CR=VPEEK (6144+ ( (Y+17) \8> #32+ 1150
(X+8>\8) 1160
840 IF CR<10 THEN PLAY " S 1 M9900O6 1170
C204 " , " S 1 M9900D5CG4 " 1 1 80
850 PUTSPRITE 2, (0,0) ,0,10
860 GDTD240 1190
870 'SPRITES
880 RESTORE980 1200
890 FOR G=0 TO 4 1210
900 Sí=-"" 1220
910 FOR F=l Tü 32
920 READ A* 1230
930 S*=S*+CHR$ ( VAL ( " «<H " +A* ) )
940 NEXT 1240
950 SPRITE* (G) =St-
960 NEXT 1250
970 RETURN
980 DATA 07,1E,38,70,63,C7,CF,1F 1260
,9F,9F,DF,7F,7F,3F,1F,07,E0
,38 , 1C ,FE ,FE ,FF ,FF ,FF ,FF ,FF 127lZl
,FF,FE,FE,FC,F8,E0
990 DATA 0,3,F,1F,3F,3F,7F,7F,7F 1280
,7F,3F,3F,1F,F,3,0,0,C0,F0,
F8 ,FC ,FC ,FE ,FE ,FE , FE ,FC ,FC , 1290
F8,F0,C0,0
1000 DATA 5,ld,3a,7B,77,87,EA,ED 1300
,1D,FA,D7,2F ,6E,31 ,1F,7,E0,
F8 ,20 ,DE ,DE ,ED ,33 ,F7 ,E3 ,DC ,
2F ,76, 76, 74, 78, A0
1010 DATA 0,0,0,0,0,0,0,0,0,?,F, 1320
1 F , 3F , 7F , FF , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
,0 ,0 ,FF ,FE ,FC ,F8 ,F0 ,E0 ,0 1330
1020 DATA 31 ,4E,86,79,1 ,31. ,4E,86
,79,l,2,C,70,0,0,0,0,0,0,iZi, 1340
0,0,0,0,0,0,0,0,0,0,0,0,0,0
,0,0,0 1350
1030 IF TN=~2THEN 360
1040 PLAY ,r SlM5000O6C32" 1360
1050 VPOKE 6174-TN,10
1060 GOTO 160 . 1370
1070 FOR G=6175-TM TO 6 175: VPOKE
.... . 6,15 :NEXT :RETURN 1380
1080 VX=-2*VX
1090 VY=-2*VY 1390
PLAY " S 1 M25000O3C2 "
GOTO210
' CARACTERES
RESTORE 1220
FOR G=0 TO 135
READ F*,C*
F=VAL ( "S/H"+F*>
C=VAL ( "?<H"+C*)
VPOKE G,F: VPOKE G+2048,F:VP
OKE G+4096,F
VPOKE 8192+G,C:VP0KE 10240+
G,C: VPOKE 12288+G,C
NEXT
RETURN
DATA FF, 51 ,2,51 ,4,51 ,8,51 ,1
0,51 ,20,51 ,40,51 ,FF,51
DATA FF, 51 ,2,51 ,4,51 ,8,51 ,1
0,51 ,20,51 ,40,51 ,80,51
DATA 1,51,2,51,4,51,8,51,10
,51 ,20,51 ,40,51 ,FF,51
DATA 10,71,10,71,20,71,20,7
1 ,40,71 ,40,71 ,80,71 ,80,71
DATA 1 ,71 ,1 ,71 ,2,71 ,2,71 ,4,
71 ,4,71 ,8,71 ,0F,71
DATA 10,71,10,71,20,71,20,7
1 ,40,71 ,40,71 ,80,71 ,FF, 71
DATA 1,71,1,71,2,71,2,71,4,
71 ,4,71 ,8,71 ,F8,71
DATA 1,71,1,71,2,71,2,71,4,
71 ,4,71 ,8,71 ,FF,71
DATA1 ,51 ,2,51 ,4,51 ,8,51 ,10,
51 ,20,51 ,40,51 ,80,51
DATA 80,51,40,51,20,51,10,5
1 ,8,51 ,4,51 ,2,51 ,1 ,51
DATA 0,1,0,1,0,1,0,1,0,1,0,
1 ,0,1 ,0,1
DATA 18,F5,.18,F1 ,3C,A1 ,7E,A
1 ,7E,B1 ,3C,B1 ,0,11 ,FF,55
DATA FF,51 ,0,11 ,3E,91 ,7E,91
,7C,91 ,0,11 ,0,11 ,FF,51
DATA 7E,F1 ,C0 ,F8 ,80 ,F8 ,FF ,8
8 ,FF ,88 ,FF ,88 ,FF ,88 ,7E ,81
DATA FF,51 ,0,11 ,0,11 ,C ,91 ,0
,11 ,0,11 ,0,11 ,FF,51
DATA 10,4F,18,4F,1C,4F,FE,4
F, FE, 47, 1C, 47, 18, 47, 10, 47
DATA FF,51 ,00,11 ,3C,21 ,62,2
1 ,5E,21 ,7E,21 ,00,11 ,FF,55
' PANTALLA
LOS JUECOS ELECTRONICOS
48 MSX
Catálogo de Software
para
ordenadores
personales
Todo el Software disponible en el
mercado reunido en un catálogo
de 800 fichas
1 . a ENTREGA
550 FICHAS
^FICHER^
Resto en dos entregas
trimestrales de 1 50 fichas
cada una
PRECIO TOTAL DE LA SUSCRIPCION 8.000 PTAS.
COPIE O RECORTE ESTE CUPON DE PEDIDO
CUPON DE PEDIDO
SOLICITE HOY MISMO EL
CATALOGO DE SOFTWARE A:
infoúis.s.a.
Bravo Murillo, 377, 5.° A
28020 MADRID
O EN CONCESIONARIOS IBM
El importe lo abonaré POR CHEQUE □ CONTRA REEMBOLSO □ CON MI
TARJETA DE CREDITO □
Cargue 8.000 ptas. a mi tarjeta American Express □ Visa □ Interbank □
Número de mi tarjeta I I I I I I I I I I I I I I 1 1 I I I I I 1 I I I ]
NOMBRE
CALLE
CIUDAD
C. P.
PROVINCIA
ref: CATALOGO DE SOFTWARE
TELEFONO
CS-2
140O FOR 6=6144 TO 6912:VPQKE B,
10 :NEXT
1410 ÜN PT BOTO 1600,1610,1620
1420 READ TfTVXl ,YI ,M
1430 GOSUB 1070
1440 FOR B=l TO N
1450 READ S,C,L,AV
1460 CU=S
1470 FOR J=l TO L
1480 VPOKE 6144+CU,C
1490 CU=CU+AV
1500 NEXT
1510 NEXT
1520 RETURN
1530 DATA 15,113,50,35,343,0,9,3
I ,344,1 ,8,31 ,404,2,7,31 ,339
,2,2,31 ,270,0,2,31 ,271 ,1 ,2,
31 ,340,14,4,1 ,331 ,4,2,63,33
2 ,6,2 ,63 ,363 ,5,2 ,63,364 ,3,2
,63,457,2,3,31 ,458,0,3,1 ,46
1 ,1 ,2,62,490,0,18,1 ,459,16,
2,62,374,11 ,2,115,520,0,2,2
,496,12,2,42
1540 DATA 497,1,1,1,498,10,1,1,4
99,2,1 ,1 ,508,1 ,2,31 ,537,2,1
,1 ,269,2,2,31 ,340,0,3,1 ,371
,16,1 ,1 ,372,0,2,1 ,592,0,3,1
,529,12,2,69,595,1 ,1 ,1 ,597,
2,2,31 ,599,0,2,1 ,601 ,1 ,2,31
,629,11 ,3,1
1550 DATA 20,12,150,49,328,2,2,3
1 ,329,11 ,3,1 ,332,1 ,2,31 ,334
,2,2,31 ,335,16,2,1 ,337,12,2
,287,338,1 ,2,31 ,360,0,3,1 ,3
66,0,3,1 ,390,4,4,63,391 ,6,4
,63,422,5,4,63,423,3,4,63,3
93 ,4 ,2 ,63 ,394 ,6 ,2 ,63 ,425 ,5 ,
2,63,426,3,2,63,462,2,2,57,
466 , 1 ,2 ,57 ,520 ,0,3,1 ,396 ,4 ,
2,63
1560 DATA 397,6,2,63,428,5,2,63,
429,3,2,63,399,4,2,3,400,6,
2,3,431 ,5,2,3,432,3,2,3,463
,0,3,1 ,496,4,2,63,497,6,2,6
3 ,528 ,5 ,2 ,63 ,529 ,3 ,2 ,63 ,623
,0,1 ,1 ,371 ,2,2,294,372,0,2,
1 ,374,1 ,2,200,375,9,6,33,37
6,8,5,33,377,9,4,33,406,9,2
,33 ,407 ,8 ,2 ,33 ,506 ,8 ,2 ,33
1570 DATA 538,9,2,33,572,2,3,31,
573,14,4,31 ,605,1 ,3,31 ,622,
2,2,20,625,1 ,2,18
1580 DATA 15,117,28,39,174,2,2,3
1 ,175,0,1 ,1 ,176,1 ,2,30,236,
4 ,2,63,237,6,2,63,268,5,2,6
3,269,3,2,63,360,2,4,31 ,361
,0,4,31 ,362,0,4,31 ,363,0,4,
31 ,364,0,4,31 ,365,1 ,4,31 ,36
4,11,1,1 ,392,11 ,2,62,394,11
,2,63,486,4,3,63,487,6,3,63
,518,5,3,63,519,3,3,63,675,
2,2,31
1590 DATA 676,1,2,34,707,0,3,1,7
10,12,1 ,1 ,653,0,3,31 ,654,0,
3,31 ,656,1 ,3,31 ,655,11 ,2,62
,686,12,1 ,1 ,537,2,4,31 ,538,
0,1 ,1 ,539,14,2,1 ,541 ,1 ,4,31
,652,2,3,31 ,569,0,3,1 ,600,0
,3,1 ,631 ,0,3,1 ,711 ,1 ,1 ,1 ,56
9,16,2,1
1600 RESTORE 1530 :BOTO1420
1610 RESTORE 1580 :BOTO1420
1620 RESTORE 1550 :6OTO1420
1630 'FIN
1640 SCREEN2
1650 PSET (52,80)
1 660 DRAW " S40C7EEEEERRGLGRGLSGL "
1670 PSET (82,80)
1680 DRAM " C5EEERGGGL "
1690 PSET (122,40)
1700 DRAW'cSERGL"
1710 PSET (102,80)
1 720 DRAW " C4EEEEERDDDDEEEERGGGGG
LUUUUGGGGL"
1730 PRESET (12,146)
1740 PRINT#1 ,"<SPACE> O BOTON DE
L JOYSTICK"
1750 PRESET (44, 160) :PRINT#1 , "PAR
A VOLVER A JUGAR."
1760 LINE (0,177)-(255,177) ,15
1770 K=K+1 :PUTSPRITE 0,(K,160),5
,0:PUTSPRITE 1 , (K , 160) , 15 , 1
1780 IF STRIG(0)=0 AND STRIG(1)=
0 THEN 1770 ELSE 50
1790 FOR G=l TO 1000:INPUT A*:PR
INTHEX*(VAL("Í<B"+A*) > :NEXT
LOS JUEGOS ELECTRONICOS
50 MSX
suso*
LA REVISTA IMPRESCINDIBLE
PARA LOS USUARIOS DE LOS ORDENADORES PERSONALES MSX.
Una publicación mensual que ayuda a obtener el máximo partido a su
ordenador.
MSX publica cada mes programas y juegos, además de reportajes sobre
programación y la posibilidad de ganar premios realizando programas y otros
temas siempre de gran interés.
MSX
PROGRAMACION BASICA
ADEMAS, beneficíese de un 15% DE DESCUENTO sobre el precio real de suscripción
precio normal
de suscripcion usted solo paga ahorro
^WCCptas. 3.060 ptas. 15%
APROVECHE AHORA esta irrepetible oportunidad para suscribirse a MSX
Envié HOY MISMO la tarjeta adjunta a la revista, que no necesita sobre ni
franqueo. Deposítela en el buzón más cercano. Inmediatamente recibirá su
primer ejemplar de MSX más el REGALO. Y así durante un año (12 números).
El Procesador de vídeo
M procesador TMS 9918 A
jmaneja la pantalla divi-
Jdiéndola en 35 planos su-
perpuestos numerados del 0 al 1
(Fig. 1).
Plano 34. Vídeo externo.
Plano 33. Color de fondo.
Plano 32. Diibujos y carácteres.
Planos 0 a 31. Sprites.
El plano más interno es el plano
34 y el más externo el cero. Esto
quiere decir que las figuras de los
planos con menor número de de-
nominación taparán a las figuras
de los planos con mayor numera-
ción cuando coincidan con ellas.
El plano 34 está incluido en el
vídeoprocesador para presentar
en él figuras de una fuente de
vídeo externa, como puede ser un
aparato de vídeo cintas o también
otro procesador de vídeo. Pero pa-
ra nuestra desdicha, tal posibili-
dad no está habilitada en nuestros
modelos de ordendor.
El plano 33 es un plano mono-
cromático que proporciona el co-
lor de fondo en el modo de texto
(SCREEN 0), o el borde en el caso
de las pantallas gráficas (SCREEN
1 y SCREEN 2).
El plano 32 es el plano donde
aparecen los carácteres gráficos
Los ordenadores SVI-318 y SVI-328 utilizan para
el manejo de la pantalla el mismo procesador
que los MSX, el procesador TMS 9918 A
Por esto, muchos de los artículos publicados
en esta revista en números anteriores referentes
al manejo de pantalla, son válidos también para
nuestro ordenador con algunas pocas
diferencias.
52 MSX
Interioridades d<
SVI-3 1 8 y SVI-Í
en el modo de texto, carácteres y
dibujos en el modo de alta resolu-
ción (SCREEN 1), o la mezcla mul-
ticolor en el modo de gráficos de
baja resolución (SCREEN 2).
Los restantes planos, del 31 al 0,
son los planos por los que se mo-
verán los sprites. Cada plano con-
tendrá un solo sprite, y cuando
dos de estos coincidan, cada uno
en su plano, en las mismas coor-
denadas, quedarán superpuestos
y se verá en primer término aquel
que se mueva en un plano de or-
den menor.
Los registros del
procesador de vídeo
El procesador de vídeo, también
conocido con el nombre de VDP
(Vídeo Display Procesor), tiene a
su disposición una memoria RAM
de 16 Kbytes conocida como
VRAM o memoria de vídeo.
La VRAM contiene datos que
necesita el vídeo procesador para
saber qué es lo que tiene que pre-
sentar en cada momento en la
pantalla.
La VRAM está dividida en varias
zonas, cada una de las cuales
contiene datos con un determina-
do significado como veremos más
adelante.
Para saber en cada momento
qué zona de la VRAM tiene que
consultar, así como la forma en
que ha de tratar los datos de la
misma, el VDP mira o consulta la
información contenida en nueve
registros internos, la figura 2 es
una tabla que muestra qué es lo
que significa dicho contenido.
A contitnuación pasamos a ex-
plicar detenidamente lo que signi-
fica cada uno de ellos.
Registro cero:
• El bit cero de este registro habi-
lita el plano 34, que era el plano re-
MSX 53
SYI 318/328
cepción de imágenes de vídeo ex-
terno y, por lo tanto, está siempre a
cero en nuestro ordendor.
• El bit 1 cuando contiene un 1
lleva al ordenador al modo de grá-
ficos de alta resolución si los bits 3
y 4 del registro 1 contienen un ce-
ro.
La conmutación de
bancos es importante
para poder aprovechar
la memoria al máximo.
Registro 1 :
• El MO de este registro puesto a
cero indica al VDP que los sprites
han de ser de tamaño normal. Un
1 en este bit hará que los sprites
sean de tamaño doble, o sea, que
cada bit que define al sprite dará
valor a cuatro pixels de la pantalla.
• El bit 1 con valor cero indica
que los sprites serán de 8x8 pi-
xels, con valor 1 indicará que los
sprites son de 16x16 pixels.
• El bit 2 no se usa en los SVI-328
y SVI-318y está reservado para fu-
turas ampliaciones.
• El bit 3 puesto a uno hará que la
pantalla esté en el modo de gráfi-
cos de baja resolución (SCREEN
2), los bits que consiguen los otros
modos de pantalla han de ser ce-
ro.
• El bit 4 conteniendo un uno
consigue el modo de texto, si los
otros bits de modo de pantalla es-
tán a cero.
• El bit 5 con un 1 habilita las inte-
rrupciones del VDP.
• El bit 6 habilita y deshabilita la
pantalla, según contenga un 1 ó
un cero.
• El bit 7 selecciona el tamaño de
VRAM. Si es cero se dispondrá de
4 Kbytes, si es 1 serán 1 6 Kbytes
de VRAM.
Registro 2:
Solamente se utilizan los cuatro
primeros bits, del 0 al 3, con los
que se tiene un número entre 0 y
15 que multiplicado por 400 hex
da la dirección de la memoria
VRAM donde comienza lo que lla-
maremos «tabla de denominacio-
nes».
Si habéis seguido los artículos
publicados en esta revista sobre la
VRAM de los MSX y sus divisiones,
podéis considerar esta tabla igual
a las que en dichos artículos se
mencionan como tablas 0, 5, 1 0 y
15.
Así tenemos que cada octeto de
esta zona «denominará» que ca-
rácter es el que aparecerá en una
determinada celdilla de ocho oc-
tetos de las que componen la pan-
talla. Todo esto lo veremos más
detenidamente cuando veamos el
contenido de cada registro en los
diferentes modos de pantalla.
Registro 3:
Los ocho bits de este registro
contendrán un número entre 0 y
255 que multiplicado por 40 hex
nos dará la dirección de VRAM en
que comenzará la que llamare-
mos «tabla de color» y que coinci-
de con la tabla 1 1 de los artículos
sobre la VRAM antes menciona-
dos.
Figura 1 Planos de la par
Cada octeto de esta tabla con-
tendrá los colores de fondo y su-
perficie de cada octeto de pantalla
en el modo de gráficos de alta re-
solución como veremos al hablar
de las tablas en este modo de
pantalla.
Registro 4:
De este registro se utilizan los
bits 0 a 2, en los que hay un núme-
ro entre 0 y 7 que multiplicado por
800 hex da la dirección de la ta-
bla de «definición de patrones»
que en los modos gráficos se
transforma en un mapa de la pan-
talla y por lo tanto coincide con las
tablas 2, 7, 1 2 y 1 7 de los ordendo-
res MSX.
Más exactamente podríamos
decir que los datos de esta tabla
se verán reflejados en el antes
mencionado plano 32 ó plano de
patrones.
Registro 5:
En este registro se almacenará
un número entre 0 y 1 27 que mul-
tiplicado por 80 hex nos dará la di-
54 MSX
. PLANO 34 VIDEO EXTERNO
-PLANO 33. COLOR DE FONDO
-PLANO 32. DIBUJOS Y CARACTERES
-PLANOS 0 a 31. SPRITES
alia con el TMS 9918 A.
rección de la VRAM donde co-
menzará la tabla de atributos de
sprites. Hay 4 bytes por cada pla-
no existente para sprites donde se
almacenarán las coordenadas de
la posición del sprite, su color y el
números de bits que lo componen.
Registro 6:
Sólo se utilizan los bits 0, 1 y 2
de este registro y contienen un nú-
mero entre 0 y 7 que multiplicado
por 800 hex da la dirección donde
comienza la tabla de patrones de
sprites que, como su nombre indi-
ca, contendrá las figuras que pos-
teriormente podrán ser asignadas
a un sprite.
Registro 7:
Los bits 0 a 3 de este registro
forman un número entre 0 y 15
que corresponde al color del pla-
no 33^que, como vimos antes, será
el color de fondo en el modo texto
o el color de borde en el modo de
gráficos.
Los bits 4 a 7 contienen el color
del texto en el modo de texto.
Registro 8:
Este es quizás el registro más
importante del VDP ya que nos in-
dica en cada momento el estado
en que se encuentra el procesa-
dor de vídeo, por esto a este regis-
tro se le conoce con el nombre de
«registro de estado» del VDP.
Mientras que los otros registros
se utilizan para colocar en ellos
valores adecuados a lo que que-
remos que haga el VDP, este re-
gistro se usará para leer en él da-
tos que nos proporciona el VDP.
• El bit 7 es un banderín de inte-
rrupción que nos señala ponién-
dose a uno cuando el VDP com-
pleta un scán (un scán es una
línea horizontal de pixels).
• El bit 6 es el banderín del quinto
sprite que se alzará o pondrá a
uno cuando haya cinco sprites en
una misma horizontal.
• El bit 5 es el banderín de coinci-
dencia de sprites y se pone a 1
cuando dos sprites coinciden o
colisionan.
• Los bits 0 a 4 contienen el nú-
mero de plano en que se encuen-
tra el quinto sprite que coincide en
una línea horizontal.
Acceso al procesador
de vídeo y a la VRAM
En el BASIC de nuestro ordena-
dor hay dos instrucciones que nos
permiten leer y escribir en la
VRÁM. Estas instrucciones son
VPEEK y VPOKE que seguramente
habréis utilizado más de una vez.
Por otra parte no teníamos una
instrucción concreta que nos per-
mitiera el acceso a los registros
del VDP, cosa que sí ocurre en los
ordenadores MSX con las instruc-
ciones del tipo «VDP(n)» donde «n»
es el número de registro al que
queremos acceder.
Pero hay una forma de acceder
a estos registros que nos sirve
también para acceder más direc-
tamente a la VRAM. Esta forma es
a través de los ports que comuni-
can en nuestro ordenador al Z-80
con el vídeo chip.
Estos ports son los siguientes:
• Port de salida...80 hex...escribe
datos en la VRAM.
• Port de salida...81 hex...porél se'
envía la dirección de VRAM o
el número de registro a que
se desea acceder y a veces
también datos.
• Port de entrada..84 hex.Jee da-
tos de la VRAM.
• Port de entrada..85 hex...rese-
tea el registro de estado para
que la transferencia sea co-
rrecta.
Y la forma de usarlos:
• La primera operación antes de
Tanto el SVI-318 como
el SVI-328 pueden
llegar a tener 160K de
RAM.
acceder al VDP mediante los ports
ha de ser una lectura del port 85
hex para poner a cero el registro
de estado y evitar así un acceso
erróneo.
• Forma de leer en la VRAM:
10 X=INP(&H85)
MSX 55
SVI 318/3:
3) Sustituir los parámetros
aclaratorios por el registro al que
queréis acceder y el dato que que-
réis colocar en cada registro.
4) Ayudándonos de la tabla 2
podéis realizar esta operación en
todos los registros y modos de
pantalla.
5) Después de haber realiza-
do la prueba con todos los regis-
tros, con varios valores en cada
uno y en los tres modos de panta-
lla podréis comprobar lo siguien-
te:
• Al meter valores en algunos re-
gistros la pantalla no varía cual-
quiera que sea el valor introduci-
do, esto nos muestra que dicho re-
gistro no se utiliza en ese modo de
pantalla.
El manejo del VDP se
realiza a nivel de bit,
en el que cada uno
tiene su función.
20 OUT&H81, byte bajo de la
dirección
30 OUT&H81,fcyte alto de la di-
rección
40 dato=INP(&H84)
• Forma de escribir en la VRAM:
10 X=INP(&H85)
20 OUT&H81, byte bajo de la
dirección
30 OUT&H81, (byte alto OR
&H40)
40 OUT&H80, dato
En la línea 30 se alza el sexto bit
del byte alto para indicar al vídeo
chip que se trata de una operación
de escritura en la VRAM.
• Forma de leer el registro 8:
El registro 8 se lee cada vez que
hacemos
X=INP(&H85)
esta instrucción coloca en la varia-
ble X el valor del registro 8 colo-
cando en dicho registro un cero.
En los registros 0 a 7 del proce-
sador de vídeo solamente pode-
mos escribir, no obstante el valor
de alguno de ellos lo podemos
obtener de algunas variables del
sistema como estas:
1 NUI 1 1 Ul KS UC
id val iduic
DirpppifSn
Contpnido
RG1SAV
FA07 hex
Registro 1
de! VDP.
FORCLR
FA0A hex
Color del
texto.
BAKCLR
FA0B hex
Color del
fondo.
BORCLR
FA0C hex
Color del
borde.
SCRMOD
FE3A hex
Modo de
la pantalla.
SPRSIZ
FE3B hex
Tamaño
del sprite.
0=8*8nor-
mal;1=8*8
aumenta-
do
2=16*16
normal;3=
16*16au-
mentado
RG0SAV
FE3C hex
Registro 0
del VDP.
STATFL
FE3D hex
Registro 8
del VDP.
Figura 2
• Forma de escribir en los regis-
tros:
10 X=INP(&H85)
20 OUT&H81, dato a escribir
30 OUT&H81, (registro
OR&H80)
En la línea 30 se alza el bit 7 del
número de registro para indicar al
VDP que es un registro y no la
VRAM lo que se desea acceder.
En el siguiente capítulo vere-
mos lo que contiene cada registro
en cada uno de los modos de pan-
talla y cómo se usan las antes
mencionadas tablas en cada uno
de los modos. Si no queréis espe-
rar al mes que viene y averiguarlo
por vuestra cuenta podéis seguir
el siguiente procedimiento:
1) Escribir un pequeño pro-
grama que haga presentes en la
pantalla la mayor cantidad posible
de características de la misma en
cada modo. (Ej. sprites, color, etc.).
2) Incluir al final de vuestro
programa las tres líneas que per-
miten escribir en un registro y que
hemos visto antes.
Solamente podemos
escribir en los
registros 0 a 7 del
procesador.
• Hay otros, en cambio, en los que
cualquier valor introducido salvo
uno produce cambios en la panta-
lla, ese valor que no produce un
cambio en la pantalla es el que
contiene el registro cuando habili-
tamos el modo de pantalla que es-
tamos probando.
Venerando Solís
56 MSX
Vendo impresora Philips 80
columnas (fricción y trac-
ción) en perfecto estado y
garantizado. Con ella regalo
50 cartuchos y varios proce-
sadores de texto. También
vendo unidad de disco Phi-
lips, con garantia y regalo 1 5
discos. Precio a convenir.
Llamar a Jesús Ignacio al
Tel.: (93) 449 46 85.
Vendo impresora STAR SG-
10, con interface Centronics
120 cps., varios tipos de le-
tras y gráficos, por 60.000
ptas. Llamar a Vicente al Tel.:
(93) 395 26 67.
Vendo cable impresora Cen-
tronics para MSX por 3.500
ptas. Contactar con Tomás
Loriti García ai Tel.: (93)
215 82 08.
Vendo ordenador MSX Sony
HB-55P con ampliación de
memoria de 64K y diversos
juegos, todo en perfecto es-
tado y 35.000 ptas. Llamar a
Miguel al Tel.: (954) 61 26 36.
Intercambio o compro pro-
gramas de Contabilidad,
Facturación, Stocks para
Spectravídeo con unidad de
discos 605-A. Tengo DEJA-
SEN, SUPERBASIC, WORDS-
TAR, CTAS. CTES. BANCA-
RIAS, etc. Escribir a Marco
Lorente Duval. Cl Cuenca,
52. 46008 Valencia o llamar
al Tel.: 325 89 30.
Vendo ordenador Sony HB-
75P, como nuevo y económi-
co por comprar otro MSX con
i disco. Llamar a partir de las 4
a Luis. Tel.: (91) 778 52 27.
Vendo equipo MSX, ordena-
dor Sony HB-75P, unidad de
disco Sony de 3.5 pulgadas,
monitor ámbar Philips, im-
presora Philips y programas
de Tratamiento de Textos y
Base de Datos. Precio a con-
venir. Escribir a Manuel Fa-
rrer. C/ Gracián, 18. Cala-
tayud (Zaragoza) o llamar al
Tel.: (976) 88 10 91.
Vendo o cambio programas
en cinta o cartucho. Escribir
a Domingo Lamsfus Fernán-
dez. C/ Colonia San Fernan-
do, 11, Motril (Granada).
Vendo Spectravídeo SV-328.
Incluyo cassette, mandos de
juego, televisor portátil Phi-
lips en B/N, programas y li-
bros, todo por 60.000 ptas.
Llamar a Carlos al Tel.: (918)
22 88 96.
Por cambio de equipo, vendo
Sony HB-75P en garantia y
con muchos juegos en cinta y
cartuchos, todo por 80.000
ptas. Escribir a Luis Sanz. C/
Latarsa, 22. 50006 Zarago-
za.
Vendo ordenador Canon V-
20 con poco uso y en perfec-
to estado. Regalo cables, ma-
nuales y muchos juegos. To-
do por 50.000 ptas. Escribir
a Elvis Martínez. Avda. Zamo-
ra, 99. Vigo, 11o llamar al
Tel.: (986) 41 45 25.
Vendo ampliación de memo-
ria MSX de 1 6K casi nueva de
Sony, por 5.000 ptas. Llamar
a José al Tel.: (91 ) 255 05 56.
Vendo unidad de disco Phi-
lips VY 0010, impecable, con
programas de tratamiento de
textos, base de datos, control
de stocks, presupuestos, pe-
didos, sistema DOS, ensam-
blador y juegos. Todo ello por
59.000 ptas. Interesados lla-
mar a José Luis al Tel.: (93)
870 21 90.
Vendo libro «Juegos-Colores
y gráficos para el ordenador'
T1-99-4A» todo en castellano
por 2.500 ptas. Contiene el
mapa de memoria. Escribir a
José Arbona Garcia. Pza.
Juan XXIII, 1, Míslata (Valen-
cia).
Deseo intercambiar
programas para MSX.
Llamar o escribirá
Jesús López Alvarez.
Cl Simancas, 2.
Malilla. Tel.:
(925)
68 77 38.
fCOMPRQ
VENDO- .
Intercambio programas MSX
en cinta y en disco do 3.5 pul-
gadas. Escribir a Irono Jua-
rros. Cl Garita, 19. 07015
SN Palma do Mallorca o llamar al
Tal.: (971) 40 30 50.
Complementación de VRAM
Aplicación-Generación
de vídeo inversor
Los registros dobles HL y DE se
cargan con las direcciones final e
inicial, respectivamente, entre las
que se complementa la VRAM. Pa-
ra la SCREEN 0 la dirección final
de la VRAM donde están definidos
los caracteres es la $7000 (4096
en decimal); la dirección inicial es
la $0800 (2048 en decimal). Colo-
cando dichas direcciones en HL y
DE y ejecutando el programa, se
complementará toda la VRAM
donde están definidos los caracte-
res. Al complementar todos tam-
bién complementamos el carácter
BLANK. Al estar la pantalla ocupa-
da en las posiciones vacías (sin
otro carácter) por el carácter
BLANK se produce aparentemen-
te el cambio del color de la panta-
lla y de caracteres. Con objeto de
conseguir un efecto mejor comen-
zamos a complementar a partir de
$0978 (2328 en decimal) con ob-
jeto de no complementar el carác-
ter BLANK, de esta forma no se
Programa Fuente
ORG
$F100
LD
HL,$1000
LD
DE,$0918
OTRO CALL
$4A
CPL
CALL
$4D
DEC
HL
LD
A,L
XOR
E
JR
NZ.OTRO
LD
A,H
XOR
D
JR
NZ.OTRO
RET
Programa Fuente
origen para programa objeto
dirección última de caract. en VRAM
dirección inic. a modificar en VRAM
rutina: lee dato de VRAM
complementamos el dato
rutina: escribe el dato comp. en VRAM
aputamos a la siguiente posición
¿es el último byte?
retorno
modifica la parte de pantalla que
no tiene caracteres.
Para la SCREEN 7 cambia la lo-
calización de la tabla de caracte-
res; está entre las direcciones
$0800 y $0000. Para conseguir el
mismo efecto que en la SCREEN,
no modificamos la parte baja de la
tabla donde está el carácter
BLANK. Así cargaremos:
LD HL,$0800
LD DE,$0118
Estos valores pueden modifi-
carse de forma que sólo comple-
mentemos los caracteres que de-
58 MSX
seemos (por ejemplo sólo los nú-
meros).
Para los que no dispongan de
un Ensamblador pueden cargar el
progrma con éste en BASIC:
10 REM para CREEN 0
20 FOR l=0 TO 23
25 READA
30 POKE(61696+l),A
40 NEXT I
50 DATA 33,0,16,17,24,9,205,74,
0,47,205,77,0,43,1 25,1 71 ,32,244,
124,170,32,240,201
Para la SCREEN 1 el programa
es idéntico variando sólo los pri-
meros datos:
50 DATA 33,0,8,1 7,24,1 ,205,74,0,
47,205,77,0,43,1 25,1 71 ,32,244,
124,170,32,240,201
* Para modificar la dirección últi-
ma que deseamos complementar
tenemos que variar los datas se-
gundo y tercero (L y H) y para mo-
dificar la dirección de comienzo
de complementación, los datas
cinco y seis (E y D).
Utilización
Este pequeño programa queda
colocado en la parte más alta del
mapa de memoria libre. Debemos
protegerlo con un CLEAR. Para
poder utilizarlo en cualquier mo-
mento podemos definir su llama-
da con una KEY. A continuación
recogemos un pequeño progra-
ma con todas estas sugerencias.
El programa, una vez ejecutado,
puede borrarse pues sólo iniciali-
za unos punteros y define la KEY 1.
60 CLEAR 200.&HF100
70 DEF USR9=&HF100
80 KEY 1,"A=USR9(0)"+
CHR$(&HD)
Después de ejecutar este pro-
grama tenemos en la KEY 1 una
nueva función. Al pulsarla se nos
convierten los caracteres en nega-
tivo (vídeo inverso).
Carlos Redondo Parral
León
ANUNCIESE
por
MODULOS
MADRID
(91)7339662
BARCELONA
(93)3014700
Máquina
Un nuevo capítulo de esta serie sobre el código
máquina del Z80, esta vez dedicado únicamente
a las instrucciones de rotación y desplazamiento.
Se trata de unas instrucciones muy útiles, como
veremos en capítulos sucesivos. Por ahora, baste
decir que las operaciones matemáticas
habituales (resta, multiplicación y división) se
realizan utilizando la suma, la complementación
y el desplazamiento.
¿\ \ ntes que nada, hemi
— \ \ haceros notar el sentido
0(t /matemático de la opera-
ción de rotación o desplazamien-
to. Supongamos que estamos Ira-
bajando en el sistema numérico
decimal, el habitual para todos no-
sotros, y consideramos el número
500. Si tenemos en cuenta que los
ceros a la izquierda no cambian el
valor del numero, podemos supo
ner que trabajamos con un campo
fi|o de ocho dígitos, por lo cual es-
cribiríamos 00000500. Como veis,
simplemente hemos añadido cin-
co ceros a la izquierda, pero se-
guimos teniendo 500.
A continuación, definamos la ro-
tación izquierda como una opera-
ción que toma el dígito de la iz-
quierda y lo sitúa a la derecha. En
este caso concrelo, tomaríamos el
cero de la izquierda y lo situaría-
mos a la derecha, obteniendo
00005000, esto es, 5000. Como
veis, el resultado conseguido es
multiplicar 500 por 10. En general,
rotando a la izquierda en cualquier
Sistema numérico multiplicamos
el numero por la base del sistema.
Así, en numeración binaria, que es
lo que nos interesa, el resultado
sería multiplicar por dos.
Veamos un ejemplo. El número
binario 00001000 equivale al de-
cimal 8. Si lo rotamos a la izquier-
da, obtenemos 00010000, lo que
equivale a 16 = 8 x 2.
Si ahora consideramos la rota-
ción a la derecha como tomar el
dígito más a la derecha y situarlo a
la izquierda, lo que conseguimos
1/6
¿ i
24
1 5 V A
ÓJ
6:
? ? v¿
17 4
480 i
30
37
48
2J 13
2?
3 b !8
I44.¡
28
30
352
18
60
9 16
1664
J¿
59
i.J )/
236
A 1
60
5 j 9
99
29
L'S4¿
Í9
4 t 9
2
-)f 7 45
3*
r 2 7 5
B 2 75
) J 40
/ 3 42
4
II
r2 28
s 72
.64
f2 25
6 2850 \:
i. «_) (J é\ 1
Z250 46
l 1 4(0 48
7 380 47
6 2 9 ij9
9 3 95 16C¿
1 1 17
i 5 14 78C
2 7 1? 2?8 \r
6 \ Ift 2t
■4 -i VJ 4 J i
es dividir el número por la base.
Como ejemplo, tomad el dieciséis
en binario que conseguimos an-
tes, y rotarlo a la derecha (16 es
00010000: rotando nos queda
00001000 = 8).
Posiblemente alguno ya se ha-
brá dado cuenta de que es muy fá
cil cometer un grave error. En el
caso de rotación a la izquierda, si el
dígito de la izquierda no es un cerc,
al pasarlo a la derecha cometeré
mos un error. Y si se trata de rota-
ción a la derecha y el dígito de la
derecha no es un cero, también
obtendremos un resultado erró-
neo (por ejemplo, si tenemos 500 1
y lo rotamos a la derecha nos dará
1 500, que no es lo mismo que di-
vidir 00 1 5, que no es lo mismo que
5001 multiplicado por 10).
Para poder controlar este error,
CASI TODAS las operaciones de
rotación y desplazamiento intro-
ducen el bit desplazado en ol flny
de acarreo, con lo cual, una vez
realizada la rotación, basta con ve-
rificar este flag para saber si el re-
sultado que tenemos es o no co-
rrecto. Además, el número alma-
cenado en el flag de acarreo tras
la operación será el resto de la di-
visión en el caso de la rotación a la
derecha.
En algunas operaciones el bit
desplazado se sitúa en su lugar de
destino y en el acarreo, mientras
que en otras se sitúa en el acarreo
y el que había en el acarreo se si-
túa en el destino de la rotación.
Además, las instrucciones de des-
plazamiento no sitúan el bit des-
plazado en el otro extremo, sino
que siempre va al acarreo, y el
nuevo bit introducido no proviene
del acarreo, sino que es un cero fi-
jo o es el mismo bit que tenía an-
tes. Lo veremos mejor con los
ejemplos y con la tabla I,
código máquina
Vamos ya con el análisis gene-
ral de las instrucciones:
RLCA: Las siglas corresponden
a Roíate Left Circular Acumulator
(Rotación Circular a la Izquierda
del Acumulador). El flag N y el H se
ponen a cero, y el acarreo se acti-
va o no según cual fuera el bit siete
antes de la operación. En la tabla 1
podéis ver qué es lo que hace: el
lAi AtfflAAS X MU/ WAJL
A5AECTD.
7
* Oifo AL&O DE UÑA TERCfcM )
'« 6£UMKÍ\ÓN ' '
j.
I I l
/ y OeSPOBS Mt/PRÁN LA CUANTA
[LAQU¡UTA,LA SEXTA, LA ÚPTÍMA '
7
bit siete pasa a la derecha despla-
zándose los demás una posición a
la izquierda. El bit siete se copia
además en el flag C (acarreo). Es
una instrucción de un solo byte.
RLA: Roíate Left Acumulator
(Rotación Izquierda del Acumula-
dor).
Los , flags son afectados
igual que en la anterior. En este
caso, el bit siete pasa al acarreo, el
acarreo para al bit cero y los de-
más desplazan una posición a la
izquierda. Es también una opera-
ción de un byte.
RRCA: Rotaíe Righí Circular
Acumulator (Rotación Circular a la
Derecha del Acumulador). Es la in-
versa de RLCA. El bit cero pasa a
la posición siete y los demás se
desplazan a la derecha. Además,
el bit cero se copia en el acarreo.
Los flags H y N quedan también a
cero, y el acarreo varía según fuera
el estado previo del bit cero. Es
también una operación de un by-
te.
RRA: Rotaíe Righí Acumulaíor
(Rotación Derecha del Acumula-
dor). Es la inversa de RLA. El bit
cero pasa al acarreo, el acarreo al
bit siete y los demás se desplazan
un lugar a la derecha. Los flags
quedan igual que en la anterior.
De nuevo se trata de una opera-
ción de un solo byte.
RLC s: s representa a uno de los
registros B, C, D, E, H, L, A y a la po-
sición de memoria a la que apunta
(HL), (IX+d) o (lY+d), donde d es el
desplazamiento relativo respecto
a la dirección a la que apunta IX o
IY, como vimos en capítulos ante-
riores.
Esta operación afecta a todos
los flags: N y H quedan a cero, el
flag P/V indica sobrepasamiento, y
los restantes flags (C, Z y S) que-
dan según sea el resultado de la
operación. Como veis, una de las
posibilidades es RLC A, cuya fun-
ción es la misma que RLCA pero
con la diferencia del efecto en los
flags y de que RLC A ocupa dos
bytes.
En cuanto al desplazamien-
to de los biís, es el mismo que en
RLCA pero según la instrucción
actúa sobre cualquiera de los re-
gistros señalados.
RL s: s es lo mismo que en la
instrucción anterior, y el efecto
producido en los bits es el mismo
que en RLA. Los flags quedan
igual que en la instrucción ante-
rior.
RRC s: s es lo mismo que en las
instrucciones anteriores, y el efec-
to producido es el mismo que en
RRA Los flags quedan igual que
en las instrucciones anteriores.
RR s: s es lo mismo que en las
instrucciones anteriores, y el efec-
to producido en los bits es el mis-
mo que en RRA Los flags resultan
afectados de igual modo que en
las instrucciones anteriores.
SLA s: Shifí Left Arirmeíhic.
Desplazamiento Aritmético a la Iz-
1**1 CMSJMfr} \
¡ ¡IW LOCURAS MAgA^LLOSA «» \
ME. HA*/ PICHO \
NO OgíflU/rc MI HAfOfi
W TOPO 1*1 OfAS Oí uH7ii\
JctíC fr£ Hí COMVQO 005 UKüftA^
quierda. La letra s representa lo
mismo que en las instrucciones
anteriores. En este caso, el bit siete
se copia en el acarreo, los demás
bits se desplazan a la izquierda y
en el bit cero se introduce un cero.
62 MSX
MNEMONICO
RLCA
RL A
RRCA
RRA
RLC S
R L s
RRC
OPERACION SIMBOLICA
7 <«- O
s
3
es
reí
7 <4 0 >
7 i olJ
7 ► O
MNEMONICO
Los flags queo¿^ igual que en las
instrucciones anteares.
SRA s: Shift Right Ati'methic.
Desplazamiento Aritmético a la
Derecha. La letra s representa lo
mismo que en las instrucciones
anteriores. En esta operación, el
bit cero de copia en el acarreo, los
demás bits se desplazan a la de-
recha, y en el bit siete se realiza
una copia del anterior bit siete,
ahora bit seis. Esto permite dividir
el número sin perder el signo, aun-
.que esto lo comentaremos más
adelante.
SRL s: Shift Right Lógica!. Des-
plazamiento Lógico a la Derecha.
La letra s representa lo mismo que
en las instrucciones anteriores, y
se trata de la operación inversa de
SLA. El bit cero se copia en el aca-
rreo, los demás se desplazan a la
derecha y el bit siete se pone a ce-
ro. Los flags quedan igual que en
las operaciones anteriores.
R R <
SLA s
SRA,
SRL S
RLD
R R 0
OPERACION SIMBOLICA
I* 7 ► O
[Cjrf 1 7 j O [ «O
tí
Oú 7.
7 4
3 O
A T[
7 4
3 0
—i 4 lü
7 4
3 O
7 4
3 O
J(HL)
s, representa:
A.B.C.O.E.H.L.ÍHLMnUd), { lY+d)
RLD: Rotate Left Decimal. Rota-
ción Decimal a la Izquierda. Esta
operación permite trabajar con
números codificados en BCD. Es-
ta codificación consiste en repre-
sentar un número decimal sin
convertirlo a binario, de la siguien-
te forma:
0
0000
1
0001
2
0010
3
0011
4
0100
5
0101
6
0110
7
0111
8
1000
9
1001
con lo cual los números binarios
1010, 1011, 1100, 1101, 1110 y
1 1 1 1 no se utilizan. Como veis, pa-
ra cada dígito decimal necesita-
mos cuatro bits, con lo cual pode-
mos introducir en cada byte dos
dígitos, uno en los cuatro bits de la
izquierda, y otro en los cuatro bits
ele la derecha. Veamos un ejem-
plo:
El número hexadecimal 37H es
igual a 1 6 x 3+7=55 decimal. Aho-
ra bien, si consideramos que es un
número codificado en BCD, para
interpretarlo lo pasamos a binario
y lo separamos en dos grupos de
cuatro bits:
37H=001 101 11=0011 0111
Viendo ahora la tabla anterior,
vemos que 001 1 representa al 3 y
0111 al 7, luego 37H representa
en BCD a 37 decimal.
Es muy importante que nos de-
mos cuenta de que nuestro micro-
procesador Z80 no distingue entre
binario y BCD. Somos nosotros los
que, al programar, debemos ac-
tuar según queramos trabajar con
los números.
•me m SALIDO 5/ETfHmm IV
8UEW0. £5 ¡6üAL.
c~
BSTOY ÉWOtfJZADO.
1
MSX 63
código máquina
Volviendo a la instrucción que
nos ocupa (RLD), ésta no realiza
una rotación de un bit, sino de gru-
pos de cuatro bits, de forma que lo
que conseguimos es desplazar un
dígito BCD en cada rotación. Para
ello se utiliza UNICAMENTE el
acumulador y la dirección de me-
moria a la que apunta el registro
(HL), de esta forma:
1 ) Los bits 4 a 7 de (HL) pasan a
las posiciones 0 a 3 del acumula-
dor.
2) Los bits 0 a 3 de (HL) pasan a
las posiciones 4 a 7 de (HL).
3) Los bits 0 a 3 del acumula-
dor pasan a las posiciones 0 a 3
de (HL).
4) Los bits 4 a 7 del acumula-
dor no cambian.
En la tabla 1 observaréis más
gráficamente esta operación.
RRD: Rotate Right Decimal. Ro-
tación Decimal a la Derecha. Es la
operación inversa de RLD. Tanto
en este caso como en el anterior,
resultan afectados todos los flags
excepto el acarreo. Los flags N y H
se quedan a cero, y el flag P/V in-
dica paridad (P).
Una vez vistas las instrucciones,
y antes de pasar al ejemplo, expli-
caremos más a fondo la instruc-
ción SRA s.
Como ya comentamos en un
capítulo anterior, una forma de re-
presentar los números es el com-
plemento a dos. En esta forma, el
bit siete indica el signo (0 = positi-
vo, 1 = negativo), y los bits 0 a 6 el
módulo del número en comple-
mento a dos. El complemento a
dos de un número se consigue in-
virtiendo cada bit y sumando uno.
Veamos un ejemplo:
Para representar 30 decimal lo
haríamos en binario normal, esto
es 0001 1 1 10. Si queremos repre-
sentar -30, escribimos 30 y lo in-
vertimos: 00011110
11100001
y después le sumamos 1 :
11100001
+ 1
11100010 = -30 en
complemento a dos.
La utilidad de la instrucción SRA
s es que nos permite dividir por
dos un número en complemento a
dos, obteniendo el resultado tam-
bién en complemento a dos y con
el resto en el acarreo.
Veámoslo con dos ejemplos, un
número positivo y otro negativo:
a) 1 52 = 7 con resto = 1
1 5 decimal = 00001 1 1 1 después
de SRA: 000001 1 1 Carry = 1 , que
es 7 y resto 1 .
b) -1 1 42 = -57 con resto = 0
-114 decimal = 10001110 en
complemento a dos después de
SRA: 1 1 0001 1 1 Carry = 0, que es
—57 en complemento a dos con
resto 0.
En cuanto a las dos últimas ins-
trucciones explicadas (RRD y
RLD), queremos haceros notar
que una rotación decimal equivale
a multiplicar o dividir por diez el
número en BCD.
Y ahora, el ejemplo. El progra-
ma que vamos a analizar tiene co-
mo finalidad inmediata imprimir
en la pantalla una serie de ceros y
unos que corresponden a los bits
de una posición de memoria. Des-
de el BASIC podemos pokear el
número que queramos analizar en
la dirección adecuada, y el pro-
grama nos devolverá los 8 bits
que lo forman (por supuesto, para
números entre 0 y 255).
ORG B000H
PRINT: EQU 00A2H
ENT $
LD HL.DIRECC
LD B.08H
LAZO: RL (HL)
LD A.30H
JR NC.SALTO
ADD 01 H
64 MSX
SALTO: CALL PRINT
DJNZ SALTO
LD A.ODH
CALL PRINT
LD A.OaH
CALL PRINT
RET
DIRECC: DEFB 00H
END
Analicemos: lo primero que ha-
cemos es definir la etiqueta PRINT
como la dirección de la rutina para
imprimir un carácter en la pantalla.
Esta rutina necesita que le demos
en el acumulador (AA) el código
ASCII del carácter a imprimir, lue-
go la misión de nuestra rutina ha
de ser analizar cada bit del núme-
ro en cuestión, y cargar en el acu-
mulador el código ASCII del cero
(30H) o del uno (31 H) según co-
rresponda.
DIRECC es la dirección de me-
moria en la cual pokearemos des-
de el BASIC el número a analizar.
Así, al cargar esa dirección en HL,
\a instrucción RL (HL) rotará el nú-
mero que queremos analizar.
Antes de empezar a rotar, car-
gamos el registro B con 8, ya que
hemos de realizar la rotación 8 ve-
ces, una por cada bit Utilizamos el
registro B como contador de un
bucle que cerramos con la ya co-
nocida instrucción DJNZ.
Ahora cargamos el código AS-
CII del cero en el acumulador. Si él
bit siete del número era un uno,
este uno habrá pasado al acarreo,
por lo cual no se realizará el salto
en JR NC, y sumaremos al acumu-
lador uno, obteniendo el código
ASCII del uno (31 H). En caso con-
trario, sí se realiza el salto, y el acu-
mulador permanece con 30H.
Ya sólo falta llamar a la rutina de
impresión de carácter y cerrar el
bucle. Deetrás enviamos a la pan-
talla los caracteres de control ODH
y OAH para simular la pulsación de
la tecla RETURN. Y por supuesto,
terminamos con RE 7 para volver al
BASIC
Con la instrucción DEFB lo que
hacemos es guardar una posición
de memoria para el número a
analizar. Aquí es donde debere-
mos pokearlo desde el BASIC
El siguiente programa en BASIC
carga el código máquina, os pide
el número a analizar y ejecuta la
rutina:
10 CLEAR 200.&HB000
S=0:FOR N=0 TO 29
READ D$:D=VAL("&H"+D$):
S=S+D:POKE &HB000+N.D
NEXT N:IF S<>2544 THEN
PRINT "ERROR EN LOS
DATAS": END
DEF USR=&HB000
INPUT "NUMERO";NN
POKE &HB01D.NN
80 A=USR(0)
90 PRINT:GOTO 60
100 DATA21,1D,B0,06,08,CB,16,
3E
1 1 0 DATA 30,30,02,C6,01 ,CD,A2,
00
120 DATA10,F3,3E,0D,CD,A2,00,
3E
130 DATA 0A,CD,A2,00,C9,00
20
30
40
50
60
70
MSX 65
Rincón
CAMBIO DE ORDENADOR
Tengo un ordenador de la pri-
mera generación y estoy pensan-
do en cambiarlo por uno se la se-
gunda con el fin de gestionar una
pequeña empresa. ¿Sería sufi-
ciente un ordenador de este tipo
para mis empeños? ¿Cuáles son
los tres mejores de gestión en los
campos de contabilidad, trata-
miento de textos y bases de datos
que entán o aparecerán en el mer-
cado?
También me gustaría que me
aconsejaran sobre el equipo que
debe reunir y su coste aproxima-
do.
Javier García Huesma
Valencia
No cabe duda, que con el cambio
saldría ganando bastante, al ser los
ordenadores de la II generación al-
go más completos que los primeros.
Sin embargo, hay que tener en
cuenta que el software para la nueva
generación apenas existe y, aunque
sea compatible el ya existente con
las nuevas versiones, faltaría pro-
barlos a fondo para asegurarse de
ello.
Los aparatos de la primera gene-
ración, están bastante bien para lle-
var una pequeña gestión, siempre y
cuando tenga una unidad de disco.
Este es, quizás el punto más impor-
tante, la unidad de disco.
Hoy por hoy, cualquier gestión
por pequeña que sea requiere el
uso de este importante periférico.
Las razones son obvias, rapidez de
acceso, facilidad de manejo, etc.
Referente al software, el trata-
miento de textos y la base de datos
más importantes que conocemos
son el MS-TEXT, MS-BASE, IDEA-
TEXT e IDEA-BASE, respectivamen-
te. Los dos primeros son de Philips y
vienen en disco y los dos siguientes
son de Idealogic y vienen en cartu-
cho. Con estos, le garantizamos que
no tendrá que pensar en cambiarse
de ordenador.
jdel lector..
IMPRIMIR COPIAS
DE PANTALLAS
Me gustaría que me informaran
sobre la manera de hacer una co-
pia de pantalla a impresora. Qué
modificaciones habría que hacer,
si ésta fuera el caso.
Patricia Torres
Madrid
Desgraciadamente, los ordena-
dores MSX no tiene una instrucción
que permita volcar la pantalla a la
impresora. Sí se puede hacer con
una rutina en código máquina, la
cual publicaremos en meses suce-
sivos.
COBOL PARA MSX Y UN
LIBRO CON PROBLEMAS
Os escribo para preguntaros si
en el mercado existe algún tipo de
programa que pueda trabajar en
COBOL. Es caso de que existan,
¿dónde puedo conseguirlo y a
qué precio?
Asimismo, quisiera plantearles
un problema que me surgió al
comprar un libro que vosotros co-
rrí en tásteis en una de vuestras re-
vistas, concretamente «El Libro
Gigante de los Juegos MSX» de
Anaya Multimedia. El problema se
presenta cuando intento ejecutar
un programa del libro, que a pe-
sar de haberlo repasado varias
veces, no ejecuta. Os escribo a
vosotros porque ya he mandado
dos cartas a la editorial del libro y
no me han solucionado el proble-
ma.
José A. Ortega Santana
Las Palmas de Gran Canarias
Hasta la fecha no tenemos noticia
de que existe un compilador CO-
BOL para ordenadores MSX. Hoy
por hoy, existen de Pascal (Sony),
LOGO (Philips) y se presentará en
breve un compilador de lenguaje C.
De cualquier manera, nada mejor
que dirigirse a una de estas tres em-
presas, las cuales están en constan-
te movimiento para conseguir la no-
vedad en el mercado. Se trata de
Idealogic, Philips y Sony.
Por lo que respecta a la segunda
cuestión, nos extraña que en Anaya
no te hayan solucionado el proble-
ma, ya que los libros recorren un lar-
go camino de comprobaciones, re-
pasos, etc. antes de ser puestos a la
venta. De cualquier manera, mánda-
nos (si puedes) una copia del listado
o indícanos en qué programa te sale
el error para intentar corregírtelo.
USO DE LOS 32K
DE MEMORIA
Mi consulta es la siguiente:
¿Cómo puede usar los 32K so-
brantes para almacenar las varia-
bles y matrices de mi programa
en BASIC?
Juan Pedrals
Barcelona
En el número de febrero de MSX
(pág. 34), publicamos un programa
excepcionalmente bueno, titulado
«Más memoria utilizable» sobre la
forma de utilizar los otros 32K de
memoria. Dicha utilidad permite te-
ner dos programas en memoria si-
multáneamente.
COMPILADOR FORTRAN
Me gustaría hacerles una pre-
gunta, ¿hay algún cartucho o cin-
ta que pase el lenguaje del orde-
nador a FORTRAN?, ya que a mí,
particularmente, me interesaría
poder utilizar un lenguaje que a
nivel operativo y de programa-
ción sea más completo que el BA-
SIC.
Tomás Fernández Ibáñez
Cantabria
Hasta la fecha no existen compi-
ladores FORTRAN ni en cartucho, ni
en cinta.
Sin embargo, con la aparición de
los ordenadores de al II generación,
se barajan ya la creación de varios
compiladores entre otros de FOR-
TRAN.
SONYCONVOCA EL T GRAN CONCURSO DE PROGRAMAS MSX.
1000.000
Se ha abierto ya la convocatoria del 2 o Gran Concurso de Programas MSX. Hay dos categorías
de participación: Una, para Centros Docentes; otra para particulares y público en general.
En la categoría de "Centros Docentes"
se aceptarán todos los programas cuyo tema sea
pedagógico pero que, por supuesto, no sean la mera
copia de un libro o de un programa ya existente.
Lo que se pretende es estimular la creatividad.
En la segunda categoría, que denominamos
"General", los programas que participen deberán
corresponder a uno de los cuatro temas siguientes:
► Simulación en el ámbito de las Ciencias (Física,
Química, Biología, Ecología, etc.). Se trata de
crear un programa que simule un caso real
o imaginario.
► Música (creación, interpretación, generador de
sonidos y ritmos, etc.).
► juegos de aventuras.
► Gráficos y Diseños (se valorará la posibilidad de
impresión en Plotter).
SONY tendrá la propiedad de los programas
premiados.
SONY tendrá los derechos de compra sobre el
resto de los programas presentados.
Los programas que concursen deberán ser
presentados grabados en cinta de audio SONY
o diskette SONY OM-D3440, entregándose dos
copias. Asimismo se deberá adjuntar un listado
del programa, instrucciones de funcionamiento y
una síntesis del contenido del programa.
Con cada programa se entregará un sobre
cerrado conteniendo los datos del autor o autores,
y en el exterior figurará el título correspondiente.
Todos los concursantes, independientemente de
su clasificaciónñnal serán obsequiados con
un producto C
Los premios se repartirán también
según las categorías:
ría Centros Docentes.
- Un único premio de un millón ae pesetas a
repartir entre el Centro Docente y el autor del
programa. 500.000- Ptas. para cada uno.
Cate g oría GeneraL
- Un premio de 500.000 - Ptas. para el que quede
clasificado en pnmer lugar.
- Dos premios de 300.000- Ptas. para los que
queden clasificados en segundo lugar.
- Tres premios de 100.000 - Ptas. para los que
queden clasificados en tercer lugar.
Todos los premios serán en material SONY.
La fecha límite para la recepción de los
programases el 30 de Enero g> 1,987. Debiendo
ser entregados a SONY ESPAÑA, S.A.,
Departamento de Ordenadores MSX. Sabino de
Arana,42-44 # 08028 - Barcelona; TEL. (93) 330.65.5 1 .
Entre todos los programas recibidos, el
jurado elegirá los que, a su juicio, contengan un
mayor nivel de innovación y creatividad.
El fallo será público el I de
fea*
- Los programas presentados por los
Centros Docentes deberán tener un máximo de
28K.RAM.
Los programas presentados por particulares para
la Categoría General deberán tener un máximo
de 12 K.RAM.
Lo« Sres. Juan Boía Fetrán
de Coturtantí (Taaagona)
Jeftúi Ajtín Gascón de
Salamanca, y £nwqu*
Riera Quile* de Valencia
fueron ganadores del
Primer Concurso de
Programa* MSX. Su*
programas sido
prjbEaado* por SONY y
actualmente están siendo
comefcküiiados. Con los
ganadores de este ano
se hato lo mismo. Tú
puedes ser uno de ellos.
Abnlde L987 y publicado
en la prensa nacional.
Para mayor inlormación o
consulta diríjase a
cualquiera de
las Delegaciones SONY.
ORDENADORES
HIT 3IT
BARCELONA
Sabino de Arana. 42-44
TeL (93) 330 65 51
DNA
DELEGACIONES SONY ESPAÑA, S.A.
MADRID
Julián Romea. 8
Tel. (91)253 08 00
28003 MADRID
BILBAO
Pmtor Lecuona, 1
Tel. (94) 444 42 00
48012 BILBAO
SEVILLA
Niebla, 8
Tel (954) 27 47 07
41011 SEVILLA
VALENCIA
Salvador Fenandis Luna. 6
Tel. (96). 325 35 06
46018 VALENCIA
LA CORUÑA
Avda Ejército, 23
Tel (981) 29 98 55
15006 LA CORUÑA
lOonami
y¡eArKUNG~FU2
na
¡I el KUNG-FU 1, el maestro Lee aniquiló a toda la banda de Chop Suey
El malvado Yen Pey ha sido el único superviviente.
¡¡AQUI TIENES LA REVANCHA!
SERNA
1Ú2 JUGADORES
- CICLISMO
- TRIPLE SALTO
- DESLIZAMIENTO
- SALTO CON PERTIGA
RECORTA Y ENVIA ESTE CUPON A SERMA C/. BRAVO MURILLO, N.° 377. 3.» A • 28020 MADRID • TELEFONOS: 733 73 1 1 - 733 74 64
CANTIDAD
NOMBRE Y APELLIDOS: ,
DIRECCION: CODIGO POSTAL
POBLACION: PROVINCIA
FORMA DE PAGO ENVIO TALON BANCARIO □ CONTRA REEMBOLSO □